升级本地ps命令到最新

升级本地ps命令到最新

我正在 macOS 上与我们一起监控流程

$ ps -f
  UID   PID  PPID   C STIME   TTY           TIME CMD
  501   367   366   0 Sun06AM ttys000    0:00.21 -bash
  501  1814  1812   0 Sun06AM ttys001    0:00.29 -bash
  501 36857  1814   0  6:41PM ttys001    0:00.00 head -n -2
  501 36858  1814   0  6:41PM ttys001    0:00.00 sed 3d
  501  9616  9612   0 Sun10AM ttys002    0:02.09 -bash
  501 36264 36262   0  6:23PM ttys003    0:00.16 -bash

当我尝试时

$ ps --forest
ps: illegal option -- -

它报告非法选项

手册统计版本如果

March 20, 2005     BSD

当我切换到centos时

[root@iz2ze9wve43n2nyuvmsfx5z ~]# ps --forest
  PID TTY          TIME CMD
16683 pts/1    00:00:00 bash
17853 pts/1    00:00:00  \_ bash
17865 pts/1    00:00:00      \_ bash
17879 pts/1    00:00:00          \_ ps

它带有强大的--forest。

它的版本是2014年7月

如何更新过时的 ps 或安装新的 ps?

答案1

使用 macOS 上的 Homebrew,您可以安装pstree类似的功能。

在评论中,您说您已经尝试过此操作,但它提供了太多信息。您应该阅读pstree手册以了解如何使用该工具。请注意,这pstree在 Linux 上也可用。

获取当前 shell 进程的进程树:

desktop:~ myself$ pstree -p $$
-+= 00001 root /sbin/launchd
 \-+= 00985 myself /Applications/iTerm.app/Contents/MacOS/iTerm2
   \-+= 00989 myself /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp myself
     \-+= 00990 root login -fp myself
       \-+= 00991 myself -bash
         \-+= 51939 myself pstree -p 991
           \--- 51940 root ps -axwwo user,pid,ppid,pgid,command

据我所知, Linuxps实用程序无法安装在 macOS 上,可能是因为它大量使用了 Linux 特定的/proc文件系统。

相关内容