在超级用户下显示linux系统所有正在运行的进程为什么不是`ps -a`?

在超级用户下显示linux系统所有正在运行的进程为什么不是`ps -a`?

在超级用户下显示linux系统所有正在运行的进程。

ps -aux 

为什么不

ps a

答案1

解释可以在 ps 手册页

 a      Lift the BSD-style "only yourself" restriction, which is
              imposed upon the set of all processes when some BSD-style
              (without "-") options are used or when the ps personality
              setting is BSD-like.  The set of processes selected in
              this manner is in addition to the set of processes
              selected by other means.  An alternate description is that
              this option causes ps to list all processes with a
              terminal (tty), or to list all processes when used
              together with the x option.

 -a     Select all processes except both session leaders (see
        getsid(2)) and processes not associated with a terminal.

由于历史兼容性原因,该ps命令支持两种风格,BSD 或 Linux。

BSD 代表“伯克利软件发行版”,是加州大学伯克利分校很久以前对贝尔 Unix 的修改。它最终发展成为一个完整的操作系统,现在甚至有多个不同的 BSD。

选项前的破折号ps通常表示选择 BSD 变体(如果存在)。

由于某种原因,在 BSD 下,ps没有列出与终端无关的会话领导者和进程。我真的说不出为什么。

您应该使用ps a非 BSD 版本来查看所有进程。其他有用的显示格式选项是f(full) 和l(long)。

相关内容