我正在寻找一个 ps 字符串,它将为我提供“ps aux”的所有输出标头,但带有 PPID。到目前为止,我只能使用 ps -ef 获取 PPID 列。我尝试了多种组合,但未能找到一种可以实现我的目标的组合。这可以做到吗?
答案1
现在我们知道你是什么了真的想...
用于-o
选择您所需的字段。例如:
$ ps -eo pid,ppid,%cpu,%mem,args
PID PPID %CPU %MEM COMMAND
1 0 0.0 0.0 /usr/lib/systemd/systemd --system --deserialize 22
...more procs...
1522 3205 0.0 0.0 nginx: worker process
1523 3205 0.0 0.0 nginx: worker process
1525 3205 0.0 0.0 nginx: worker process
1527 3205 0.0 0.0 nginx: worker process
1528 3205 0.0 0.0 nginx: worker process
1529 3205 0.0 0.0 nginx: worker process
3205 1 0.0 0.0 nginx: master process /usr/sbin/nginx
...more procs...
您可以使用的字段的完整列表位于手册页中。
答案2
也许选项“-l”或“-j”? (取决于你的“ps”的版本)https://www.freebsd.org/cgi/man.cgi?ps(1)
答案3
我想我已经找到了解决方案(如果有人仍然需要它)。在 RHEL/CentOS 和派生上,尝试# ps -fwaux
:它显示所有进程,但在其父进程下列出子进程;这样您就不需要 PPID 列来将进程与其来源关联起来。我希望这会有用...干杯!