Nohupで実行してバックグラウンドで実行したいコマンド(プログラム)があります。お気に入り
Nohup command > logfile.txt &
プロセスIDを確認するにはどうすればよいですか?プロセスIDをファイルに書き込んで後で読み取り、プログラムでプロセスを強制終了できるようにしたいと思います。
スクリプト内:
Nohup command > logfile.txt &
echo $! > /var/run/command.pid
$!
を使用できます。 bashドキュメント で参照されています。
ps
とgrep
を使用してプロセスリストでプロセスを検索し、次にawk
を使用して出力を解析し、実際のPIDを検索できます。
ps -ef | grep -v grep | grep YOUR_PROCESS_NAME | awk '{ print $2 }'
あなたは試すことができます:
ps aux | grep -v grep | grep プログラム名
これにより、実行中のプロセス、grepでプログラム名がチェックされますが、grep自体は除外されます。