bashで実行されたコマンドのPIDを取得する方法を教えてください。
たとえば、imapsyncを実行するbashスクリプトがあります。
スクリプトが強制終了されると、imapsyncプロセスが常に強制終了されるわけではないため、imapsyncのPIDをスクリプトからプログラムで識別できるようにして、imapsyncプロセスをシグナルハンドラで自分で強制終了できるようにします。
それでは、親bashスクリプトから子プロセスのPIDをプログラムで取得するにはどうすればよいですか?
1
「pidof imapsync」はどうですか?どうしたの?
—
pitr
pidofについては知りませんでした。しかし、今では、このシナリオでは、pidofはシステム上の特定のコマンドのすべてのプロセス(他のスクリプト/ユーザーが所有するものも含む)を返すように見えるため、役に立ちません。さらに、imapsyncは実際にはperlスクリプトなので、pidof perlを実行しますが、これもimapsyncではなく、他のユーザーに属する可能性のあるプロセスを返す可能性があります。
—
ジェイソンタン
ハビエルは正しいです。このページでは、ProcessManagementに関する詳細情報を提供します。
—
11