実行時間の長いプログラムを実行し、プログラムのプロセスIDを別のファイルに保存するBashスクリプトを作成するにはどうすればよいですか?
のようなものが欲しい
#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
ただし、これを正確に実行するとps
、ツールの終了後に実行されます。
作成されたプロセスのプロセスIDを取得する方法はありますか?
@ e-t172指摘いただきありがとうございます。次に「exec」を削除します。
—
DerMike、2011年
プロセス管理をご覧ください。
—
追って通知があるまで一時停止。
long_running_tool
ます。その結果、execが戻ることはなく、次の行に到達することはありません。参照してくださいhelp exec
、execve(2)
。