web-dev-qa-db-ja.com

バックグラウンドプロセスのプロセスIDを確認するにはどうすればよいですか?

Nohupで実行してバックグラウンドで実行したいコマンド(プログラム)があります。お気に入り

Nohup command > logfile.txt &

プロセスIDを確認するにはどうすればよいですか?プロセスIDをファイルに書き込んで後で読み取り、プログラムでプロセスを強制終了できるようにしたいと思います。

5
user66336

スクリプト内:

Nohup command > logfile.txt &
echo $! > /var/run/command.pid
7
leonbloy

$!を使用できます。 bashドキュメント で参照されています。

3
Phil Hollenback

psgrepを使用してプロセスリストでプロセスを検索し、次にawkを使用して出力を解析し、実際のP​​IDを検索できます。

ps -ef | grep -v grep | grep YOUR_PROCESS_NAME | awk '{ print $2 }'
1
Massimo

あなたは試すことができます:

ps aux | grep -v grep | grep プログラム名

これにより、実行中のプロセス、grepでプログラム名がチェックされますが、grep自体は除外されます。

0
Publiccert