创建后台进程并获取进程ID

时间:2014-02-07 10:18:38

标签: php multithreading background-process kill

好的,所以这就是我想要的......

我正在触发像这样的php脚本的后台执行

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

脚本运行一段时间,完成后停止。

但是,我真的需要拥有其进程ID(PID),以便我可以终止进程(如果需要):

kill -SIGTERM PID

但是,如何获得该特定流程的 PID


注意:任何时候都可能有很多php个进程,因此针对所有正在运行的实例都不是我们需要的。

1 个答案:

答案 0 :(得分:2)

在启动时保存后台进程的PID。

  • $$是当前脚本的pid
  • $!是最后一个后台流程的pid

例如:

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