systemd:fork()を使用するプロセスは、子プロセスが終了した後にのみログを表示します。

systemd:fork()を使用するプロセスは、子プロセスが終了した後にのみログを表示します。

fork()実行および終了するプログラムがあります。そのサブプロセスは、5秒ごとにメッセージを印刷しながら約50秒間実行され続けます。端末で実行すると、期待どおりに実行され、親プロセスが終了し、子プロセスが10個のメッセージを印刷して終了します。その後、systemd次のようにサービスユニットを作成しました。

[Unit]
Description=Program that forks
Documentation=https://program5.example.com

[Service]
Type=forking
ExecStart=/root/fork

明らかsystemdに、子プロセスが終了するまでアクティブなデフォルトプロセスを表示するように機能しますが、プログラムを表示するために使用しても、画面上のjournalctlsystemctl statusメッセージは、子プロセスが終了してプロセスが終了した後にのみ表示されます。なぜそんなことですか?

ベストアンサー1

おすすめ記事