/ /バックグラウンドプロセスを作成してプロセスIDを取得-php、マルチスレッド、バックグラウンドプロセス、kill

バックグラウンドプロセスを作成し、プロセスIDを取得する - PHP、マルチスレッド、バックグラウンドプロセス、kill

OK、だからここに」私が欲しいものは...

私は バックグラウンド実行 このようなPHPスクリプトの:

/usr/bin/php myscript.php > /dev/null &

スクリプトはしばらく実行され、終了すると停止します。

ただし、プロセスID(PID)が必要なので、 プロセスを殺す (必要な場合)by

kill -SIGTERM PID

しかし、どのように取得しますか PID その特定のプロセスの?


注意: 多数あるかもしれません php プロセスをいつでも実行できるため、実行中のすべてのインスタンスをターゲットにすることは必要ではありません。

回答:

回答№1は2

バックグラウンドプロセスのPIDを開始時に保存します。

  • $$ 現在のスクリプトのpidです
  • $! 最後のバックグラウンドプロセスのPID

例えば ​​:

/usr/bin/php myscript.php > /dev/null &
LAST_PID=$!
kill $LAST_PID