2014-09-04 115 views
0

我需要获取以PHP执行的进程的PID。我的问题的概述是下一个:以PHP启动的外部进程的PID

我有一个脚本执行两个外部程序(在MatLab中的过程)。第二个程序必须等待第一个程序的输出,如果用户需要,我需要这些进程的PID来杀死它们。

首先我使用exec(),但我有任何想法如何得到pid。我也使用过proc_open(),但我需要第一次调用阻止脚本(第二个脚本的输入将存储在临时目录中,是一个图像),直到第一个过程结束。

我的环境是在Windows中。提前致谢。

+0

'第二个程序必须等待第一个'的输出。这是默认行为。 – hek2mgl 2014-09-04 09:23:05

回答

0

您可以借助WMIC获取进程的PID。确保只有一个(唯一的)这个名字过程虽然运行:

exec('wmic process where name="program.exe" get ProcessID 2>&1', $output); 

$pid = $output[1]; 

替换的Program.exe与你相关的进程的名称。