在PHP中启动外部进程的PID

时间:2014-09-04 09:18:46

标签: php windows exec proc-open

我需要获取在PHP中执行的进程的PID。我的问题概述是下一个:

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

首先我使用了exec(),但我知道如何获得pid。我也使用了proc_open(),但我需要第一个调用阻塞脚本(第二个脚本的输入将存储在临时目录中,是一个图像),直到第一个进程结束。

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

1 个答案:

答案 0 :(得分:0)

您可以在WMIC的帮助下获取流程的PID。确保只运行具有该名称的一个(唯一)进程:

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

$pid = $output[1];

将program.exe替换为相关进程的名称。