如何使用 BSD 选项通过 PS 获取 PPID

如何使用 BSD 选项通过 PS 获取 PPID

我正在寻找一个 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 列来将进程与其来源关联起来。我希望这会有用...干杯!

相关内容