デーモンプロセスを一意にする方法は?

デーモンプロセスを一意にする方法は?

Linuxでデーモンプロセスを「固有」にする方法はありますか?

つまり、デーモンがすでに実行されている場合は再起動しないでください。デーモンが最初に起動したときに特定のファイルを作成し、そのファイルを確認するだけでよいと思いましたが、デーモンが終了してファイルが削除されないと問題が発生します。特定のデーモン(私が制御するコード)が存在することを確認するより多くの「Linux」方法がありますか?

ベストアンサー1

デフォルトでは、PID(プロセスID)トレースについて説明しています。これは通常、systemdサービスマネージャ(たとえば)または特定のデーモン用に作成されたスクリプトによって行われます。プロセスの開始後、PID はファイルに書き込まれ、後でプロセスの状態を確認したり、プロセスを停止するために使用されます。これは、プログラムの他のコピーが実行されるのを防ぐのではなく、サービスマネージャまたは起動スクリプトが他のインスタンスを起動するのを防ぐことです。

そのIDを持つプロセスを一覧表示して、「古いpidファイル」(プロセスが実行されていないがファイルがまだ存在する場合)の処理を検出します。一致するプロセスが見つからない場合は、プロセスが不適切に停止し、PIDファイルが削除されたと推定される可能性があります。

おすすめ記事