PIDをファイルに保存する方法[閉じる]

PIDをファイルに保存する方法[閉じる]

少なくとも1つのファイルにpid番号を保存する必要があります。どうすればいいですか?

答え1

PIDファイルは、プロセス自体によって生成されるか、メインプログラムを起動した後にPIDファイルを作成するヘルパープログラムによって生成できます。

Unixファミリーシステムでは、通常、システムコールを使用してfork()新しいプログラムを作成します。呼び出しプロセスのコピーを作成し、親プロセスでは子プロセスID(PID)を返し、子プロセスでは0を返します。親プロセス(ヘルパープログラム)はPIDをPIDファイルに保存できます。その後、新しいプログラムを起動するために使用されます。exec()fork()exec()

プロセスはgetpid()システムコールを使用して独自のPIDを取得し、それをファイルに保存できます。

シェルでプログラムを起動している場合は、たとえばstart-stop-daemon(Debianベースのシステムでは)プログラムを起動した後にPIDファイルを作成できるヘルパープログラムを使用できます。プログラムが自分自身を悪魔化している場合は、変数にアクセスしてシェルにPIDを保存することもできます$$

関連情報