试图获取所有进程表

时间:2014-05-05 09:54:47

标签: php ssh putty

我正在尝试用php打印整个进程表(实际上我正在尝试打印在我的服务器上运行的所有php进程)。这是我正在使用的代码:

var_dump(exec("ps -A | grep php"));

当我启动php文件时,它会返回自己的PID,但不会返回已经运行的其他PID。我已经通过ssh控制台进行了检查,并且有7个,并且该代码仅打印1并且与其他PID完全不同。

任何解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我在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运行的进程数量。