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

标签 php linux ubuntu process ps

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

  • 进程号
  • 用于执行进程的命令
  • 过程中的论点

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

exec('ps aux', $output);

但是,输出是用任意数量的空格格式化的,所以解析它并不是世界上最简单的事情。

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

最佳答案

大部分归功于 meuh .


ps ahxwwo pid,command

给了我需要的三个项目,但由于任意空间格式,它仍然很难解析。

但是,可以删除空格格式。

ps ahxwwo pid:1,command:1

使用 explode 以空格作为分隔符现在可以保证索引 0 是 pid,索引 1 是命令,其余索引是参数。

关于php - 使用 PHP 列出服务器上所有正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32535977/

相关文章:

php - MySQL 与 php 类的连接

php - Wordpress 链接分页仅显示下一个和上一个按钮

php - 是否可以在不刷新网页的情况下在网页上显示交互式 shell 命令输出?

linux - 使用 tc 的流量整形不准确,具有高带宽和延迟

node.js - 如何为生产准备 nodejs?

ubuntu - bash_completion 不工作,找不到源命令

php - JavaScript 数组的行为与 PHP 类似?

javascript - PHP 函数末尾的 0

c++ - 哪些数据结构使用了多少内存

ubuntu - 是否可以通过 apt-get 安装 couchdb 2.x?