メイン プロセスから子プロセスを生成するときは、メイン プロセスがアクティブなときでも子プロセスがアクティブなままであることを確認することが重要です。終了しました。この動作は、長時間実行されるバックグラウンド タスクを管理する場合に特に望ましいです。
特定のシナリオでは、systemd サービス マネージャーから開始されるメイン プロセス (exectest) から子プロセスを切り離す必要があります。ただし、子プロセスがメイン プロセスとともに終了することがわかりました。
解決策は、systemd 構成ファイル (/etc/systemd/system/exectest.service) を変更して次の行を含めることにあります。
KillMode=process
デフォルトでは、systemd は「コントロールグループ」強制終了モードを適用し、終了時にメインプロセスのコントロールグループ内のすべての子プロセスを終了します。これを「プロセス」に変更することで、子プロセスはそのままにして、メイン プロセス自体のみを強制終了するように systemd に指示します。
この変更により、子プロセスは実行を継続し、メイン プロセスの終了または再起動後も存続することが保証されます。 systemd から開始した場合でもプロセスを実行します。
以上がメインプロセスの終了時に Systemd が子プロセスを強制終了しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。