を介してサービスの状態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はいくつかの異なる方法をサポートしています。ここにリンクされた答えはそのうちの1つを示しています: "systemdサービスの現在のサービス状態を表示する方法は?「シェルスクリプトまたはC言語でサービスデーモン(長期実行プロセス)を作成するときにこれを行う方法を示します。
答え2
あなたのサービスステータスは現在のステータスになります。サービスが実際に開始された時期を確認するには、ログを確認してください。
journalctl | grep test.service
サービスがいつ開始されたか、どの段階で状態がアクティブな段階であるかが表示されます。