`ps f` 显示什么进程?

`ps f` 显示什么进程?

由 procps-ng 的 ps 提供

$ ps f | wc -l
225
$ ps -e | wc -l
410
$ ps | wc -l
4

ps -e显示所有进程,并且ps仅显示当前终端作为控制终端的进程。显示什么过程ps f?谢谢。

答案1

在 Ubuntu 系统上,该命令ps f将显示与显示的完全相同的进程ps,但使用 ASCII art 进程树。

该选项是修改 的输出格式的选项ps。它列在psUbuntu 手册的“输出修饰符”部分下。因此,它不会修改将显示的进程。

使用它一起使用另一个选项(例如ps f -e)将仅修改命令的输出格式,而不修改进程的选择。

答案2

您最初写的是ps f,但现在的问题是ps --forest。两者并不相同...

$ ps f
  PID TTY      STAT   TIME COMMAND
27614 pts/1    Ss     0:00 -ksh
27656 pts/1    R+     0:00  \_ ps f
 3356 pts/0    Ss     0:00 -ksh
 3370 pts/0    S+     0:06  \_ ssh mercury7

$ ps --forest
  PID TTY          TIME CMD
27614 pts/1    00:00:00 ksh
27658 pts/1    00:00:00  \_ ps

ps g它们包含与和相同的范围ps

例如

$ ps g
  PID TTY      STAT   TIME COMMAND
 3356 pts/0    Ss     0:00 -ksh
 3370 pts/0    S+     0:06 ssh mercury7
27614 pts/1    Ss     0:00 -ksh
28932 pts/1    R+     0:00 ps g

$ ps 
  PID TTY          TIME CMD
27614 pts/1    00:00:00 ksh
28755 pts/1    00:00:00 ps

答案3

根据手册页,还不清楚ps fvs ps --forest

f:

ASCII 艺术流程层次结构(森林)。

--forest:

ASCII 艺术流程树。

但两者都列在“输出修饰符”而不是“输出格式控制”。所以它们有不同的输出。

f那么vs的确切区别是什么--forest? (免责声明:我不是 UNIX 专业人士,所以我还没有阅读 UNIX 的源代码ps

--forest显示的是一棵有一个根的“树”(甚至被称为“森林”),这意味着进程的一个SID(会话ID,大致与当前登录会话相关),因此不显示任何进程不同的根。另一方面f,显示了来自不同根源的过程,例如森林。

所以它们的用例是:

  • ps --forest当您想要获取在此会话中启动的进程的“树”时使用。
  • ps f当您想要获取当前用户在任何会话中启动的进程“森林”时使用。

相关内容