如何获取系统上正在运行的进程列表并按各种参数对其进行排序

Raz*_*aza 2 ruby unix macos htop

我使用htop查看有关当前在我的osx机器上运行的进程的信息,也可以按CPU,内存使用情况等对它们进行排序.

有没有办法在Ruby中以编程方式获取htop的输出?此外,我希望能够使用API​​使用CPU,内存使用等各种参数对进程进行排序.

我可以做IO.popen('ps -a')并解析输出,但想知道是否有一种比以编程方式直接解析系统命令输出更好的方法.

blo*_*lom 6

查看sys-proctable:

require 'sys/proctable'

Sys::ProcTable.ps
Run Code Online (Sandbox Code Playgroud)

排序方式starttime:

Sys::ProcTable.ps.sort_by(&:starttime)
Run Code Online (Sandbox Code Playgroud)