システムスクリプトから分岐

システムスクリプトから分岐

systemd サービスがフォークを処理したい。 (私のファイル自体はフォークを処理しません。だからそれを処理するためにsystemdに依存しています。)

私の.serviceファイル:

[Unit]
Description=swamp services management service
After=syslog.target

[Service]
Type=forking
ExecStart=/usr/bin/swamp

[Install]
WantedBy=multi-user.target

質問

Type=forking私が達成したい目的には十分な仕様がありますか?それとも、私のサービスがフォーク/デーモンを処理するという事実をupstartに実際に知らせるupstartでフォークを期待するのと似ていますか(正しく理解しているかどうかわからない場合は、initスクリプトの作成が初めてです)。

ベストアンサー1

systemdには素晴らしいドキュメントがあります。ページを見るサービスファイル:

ブランチに設定されている場合、ExecStart =で設定されたプロセスは開始の一部としてブランチ()を呼び出す必要があります。起動が完了し、すべての通信チャネルが確立されると、親プロセスが終了すると予想されます。子プロセスは引き続きデフォルトデーモンとして実行されます。これは従来のUNIXデーモンの動作です。この設定を使用する場合は、systemdがデーモンのデフォルトプロセスを識別できるように、PIDFile =オプションも使用することをお勧めします。親プロセスが終了すると、systemd は引き続き後続のユニットを起動します。

したがって、これを使用すると、systemdに戻りをtype待ってから、まだ実行中だと思います。これを実装することは依然としてあなたの責任です...swamp

おすすめ記事