我正在尝试使用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^@
其中命令参数由空字符分隔.