ps -efps -a 得区别

ps -efps -a 是两个不同的命令选项,它们用于列出系统中正在运行的进程。它们之间的区别如下:

  1. ps -ef
    • ps -ef 会列出当前系统上的所有进程,并以完整的格式显示它们的详细信息。
    • 每行显示一个进程,包括进程的用户、进程ID(PID)、父进程ID(PPID)、CPU使用情况、内存使用情况等等。
    • 这个命令常用于查看系统中正在运行的所有进程,并获取它们的详细信息。
  2. ps -a
    • ps -a 会列出当前终端会话中的所有进程。
    • 它不会列出守护进程(Daemon),也不会显示其他用户的进程,除非使用了 sudo 或者是在 root 权限下执行。
    • 这个命令通常用于查看当前终端会话中运行的所有进程,或者在查看特定用户的进程时使用。

综上所述,ps -ef 会列出系统中所有进程的详细信息,而 ps -a 则会列出当前终端会话中的所有进程,不包括守护进程和其他用户的进程。

最常用的 5 个 ps 命令选项

当使用 Unix/Linux 系统时,ps 命令是非常有用的工具,用于查看当前系统中正在运行的进程。以下是最常用的 5 个 ps 命令选项:

  1. ps aux
    • 这是最常用的 ps 命令形式之一,它以详细的方式列出系统中所有进程的信息。
    • a 表示显示所有进程,u 表示以用户为主的格式显示,x 表示包括没有控制终端的进程。
    • 这个命令常用于查看系统中所有进程的详细信息,包括用户名、PID、CPU和内存使用情况等。
  2. ps -ef
    • 这也是另一种以详细格式显示系统中所有进程的常用方式。
    • -e 选项显示所有进程,-f 选项以完整的格式显示进程信息。
    • 这个命令类似于 ps aux,在一些系统上更常用。
  3. ps -aux | grep <进程名>
    • 这个命令组合了 ps auxgrep 命令,用于查找特定进程。
    • aux 选项列出所有进程,grep 用于过滤出包含指定进程名的行。
    • 这个命令用于查找某个特定进程,通常用于定位某个进程的详细信息。
  4. ps -efH
    • 这个命令显示进程的层次结构,以树状图的形式展示。
    • -H 选项表示以层次结构显示进程。
    • 这个命令用于查看进程之间的父子关系,特别是当需要了解进程之间的衍生关系时。
  5. ps -eo pid,user,args --sort=-pid | head
    • 这个命令显示进程的PID、用户名和命令行参数,并按PID倒序排序,最后使用 head 命令显示前几行。
    • -eo 选项用于指定显示的列,piduserargs 分别表示进程PID、用户名和命令行参数。
    • --sort=-pid 表示按PID倒序排序。
    • 这个命令用于显示最活跃的进程,或者显示前几个进程。