使用popen()打开杀死进程?

我正在使用popen()打开一个长期运行的过程。对于调试,我想在完成之前终止该过程。调用pclose()只会阻塞直到子项完成。

我如何杀死这个过程?我没有找到任何简单的方法来从popen()返回的资源中获取pid,以便可以向其发送信号。

我想我可以做些杂乱的事情,并尝试使用某种命令行黑客将pid混入输出中…

回答:

好了,找到了一个解决方案:我改回proc_open()而不是popen()。然后就这么简单:

$s = proc_get_status($p);

posix_kill($s['pid'], SIGKILL);

proc_close($p);

以上是 使用popen()打开杀死进程? 的全部内容, 来源链接: utcz.com/qa/416976.html

回到顶部