我试着用php打印整个进程表(实际上我试着打印我的服务器上运行的所有php进程)。这是我使用的代码:
var_dump(exec("ps -A | grep php"));当我启动php文件时,它返回给我它自己的PID,而不是已经运行的其它PID。我已经通过ssh控制台检查过了,有7个,代码只打印了1个,与其他PID完全不同。
有什么解决方案吗?
提前谢谢。
发布于 2014-05-05 21:01:04
我在PHP Manual: getmypid上找到了答案
function countProcesses($scriptName)
{
// ps aux|grep "[u]pdate.php"|wc -l
$first = substr($scriptName, 0, 1);
$rest = substr($scriptName, 1);
$name = '"['.$first.']'.$rest.'"';
$cmd = "ps aux | grep $name | wc -l";
$result = exec($cmd);
return $result;
} 这个函数返回已经运行的进程的数量,所以我只调用echo countProcesses('php6');,它返回的是作为php6运行的进程的数量。
https://stackoverflow.com/questions/23469611
复制相似问题