ホームページ >バックエンド開発 >Golang >メインプロセスの終了時に Systemd が子プロセスを強制終了しないようにするにはどうすればよいですか?

メインプロセスの終了時に Systemd が子プロセスを強制終了しないようにするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-24 19:17:10741ブラウズ

How to Prevent Systemd from Killing Child Processes When the Main Process Exits?

メインの Systemd プロセスから子プロセスを切り離す

メイン プロセスから子プロセスを生成するときは、メイン プロセスがアクティブなときでも子プロセスがアクティブなままであることを確認することが重要です。終了しました。この動作は、長時間実行されるバックグラウンド タスクを管理する場合に特に望ましいです。

特定のシナリオでは、systemd サービス マネージャーから開始されるメイン プロセス (exectest) から子プロセスを切り離す必要があります。ただし、子プロセスがメイン プロセスとともに終了することがわかりました。

解決策は、systemd 構成ファイル (/etc/systemd/system/exectest.service) を変更して次の行を含めることにあります。

KillMode=process

デフォルトでは、systemd は「コントロールグループ」強制終了モードを適用し、終了時にメインプロセスのコントロールグループ内のすべての子プロセスを終了します。これを「プロセス」に変更することで、子プロセスはそのままにして、メイン プロセス自体のみを強制終了するように systemd に指示します。

この変更により、子プロセスは実行を継続し、メイン プロセスの終了または再起動後も存続することが保証されます。 systemd から開始した場合でもプロセスを実行します。

以上がメインプロセスの終了時に Systemd が子プロセスを強制終了しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。