내 sytemctl 상태일 때 Active: active(running) 줄에만 running 또는 dead가 표시되는 이유는 무엇입니까?

내 sytemctl 상태일 때 Active: active(running) 줄에만 running 또는 dead가 표시되는 이유는 무엇입니까?

를 통해 서비스 상태 systemd(test.service) 를 확인하려고 합니다 systemctl status test.service. 그런데 왜 선에는 Active: active (running)실행 중 또는 종료만 표시되고 시작/중지/실행/죽음은 표시되지 않습니까?

답변1

물론. 내 생각엔 당신이 그런 것 같아요잘못된 것을 잡고.

$ systemd-run --user --no-block --service=oneshot sleep 10
Running as unit: run-r0b9dce0a8bd649d4a2e91d23fe757937.service
$ systemctl status --user run-r0b9dce0a8bd649d4a2e91d23fe757937.service
● run-r0b9dce0a8bd649d4a2e91d23fe757937.service - /usr/bin/sleep 10
   Loaded: loaded (/run/user/1001/systemd/transient/run-r0b9dce0a8bd649d4a2e91d23fe757937.service; transient)
Transient: yes
   Active: activating (start) since Thu 2018-05-17 10:49:43 BST; 9s ago
 Main PID: 7949 (sleep)
   CGroup: /user.slice/user-1001.slice/[email protected]/run-r0b9dce0a8bd649d4a2e91d23fe757937.service
           └─7949 /usr/bin/sleep 10

May 17 10:49:43 alan-laptop systemd[1667]: Starting /usr/bin/sleep 10...

특히, systemd가 서비스 시작 여부를 알 수 있도록 하려면 서비스가 실제로 어떻게든 이를 알려야 합니다. systemd는 여러 가지 다른 방법을 지원합니다. 여기에 링크된 답변은 그 중 하나를 보여줍니다: "systemd 서비스의 현재 서비스 상태를 표시하는 방법은 무엇입니까?"에서는 쉘 스크립트나 C 언어로 서비스 데몬(장기 실행 프로세스)을 작성할 때 이를 수행하는 방법을 보여줍니다.

답변2

귀하의 서비스 상태는 현재 상태가 됩니다. 서비스가 실제로 시작된 시기를 확인하려면 로그를 확인하세요.

journalctl | grep test.service

서비스가 언제 시작되었는지, 어느 단계에서 상태가 활성 단계인지 표시됩니다.

관련 정보