【问题标题】:PHP pid from popen [duplicate]来自popen的PHP pid [重复]
【发布时间】:2021-08-29 05:23:09
【问题描述】:

我是否有机会找到正在使用popen 运行的应用程序的 pid?

我知道 proc_open 可以实现,但我不太可能更改应用程序的结构

或者如何停止使用popen 打开的进程并继续运行?

使用 ffmpeg 编码流时,有时我需要停止

【问题讨论】:

  • 不,你不能从popen()得到它。
  • 如果你需要那个级别的控制,你需要使用较低级别的函数。

标签: php


【解决方案1】:

函数弹出: https://www.php.net/manual/en/function.popen.php

函数pclose: https://www.php.net/manual/en/function.pclose.php

如果无法关闭进程,pclose 将返回 -1。

如果 pclose 无法关闭进程,请运行 popen 并使用系统命令通过获取分叉进程的父 pid 来终止进程:

Killing processes opened with popen()?

最后一个答案可能有效,否则使用 proc_open:

https://www.php.net/manual/en/function.proc-open.php

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 2014-02-01
    • 2015-06-17
    • 2011-09-19
    • 2013-03-06
    • 2021-04-01
    • 2011-05-20
    • 1970-01-01
    • 2013-04-18
    相关资源
    最近更新 更多