使用PHP列出服务器上所有正在运行的进程

我正在尝试使用
PHP获取当前在我的Ubuntu服务器上运行的所有进程的列表.理想情况下,我想获得以下信息:

>进程ID
>用于执行进程的命令
>给予过程的论据

我知道我可以使用exec来调用ps来列出当前正在运行的进程.

exec('ps aux', $output);

但是,输出的格式是任意数量的空格,因此解析它并不是世界上最容易的事情.

我可能会使用explode或preg_split进行解析,但有没有更简单的方法来获取使用php的所有正在运行的进程的列表,以及进程ID,命令和参数?

最佳答案 我没有看到比ps更简单的东西,例如:ahxwwo pid,命令只提供你想要的信息,例如:

5911 tail -F /var/log/mail.log

如果您需要原始数据,可以在/ proc / [123456789] * / cmdline中读取每个文件.例如,

$cat -vet /proc/5911/cmdline
tail^@-F^@/var/log/mail.log^@

其中命令参数由空字符分隔.

点赞