欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos linux ps -ef 详解 AG chatgpt 有大用 有大大用

ps -ef 是 Linux 系统中一个常用的命令,用于显示当前系统中所有运行的进程信息。下面是对该命令的详细解析:


1. 命令格式

bash

ps -ef

2. 命令作用

ps -ef 用于列出系统中所有用户的所有进程的详细信息,包括进程的 PID、PPID、CPU 使用率、启动时间、启动命令等。


3. 选项解释

  • ps:Process Status 的缩写,用于查看进程状态。

  • -e:显示所有进程(包括其他用户启动的进程)。   # ps -e         #也是查看所有的进程信息  在 ps -e 命令中,e 是 "every" 的缩写。它代表 "所有进程"(every process)。使用这个选项时,ps 命令会显示系统上的所有进程,无论它们是否与当前终端相关联。因此,ps -e 命令用于列出所有正在运行的进程。

  • -f:显示完整格式的进程信息(Full-format listing)。


4. 输出字段说明

ps -ef 的输出通常包含以下字段:

字段说明
UID启动进程的用户 ID(用户名称)。
PID进程 ID(Process ID),系统中每个进程的唯一标识。
PPID父进程 ID(Parent Process ID),表示启动该进程的父进程。
CCPU 使用率(CPU utilization)。
STIME进程启动的时间(Start Time)。
TTY进程关联的终端设备(Terminal)。? 表示进程没有关联到终端。
TIME进程占用的 CPU 时间(格式为小时:分钟:秒)。
CMD启动进程的命令或程序名称。

5. 示例输出

bash

UID        PID  PPID  C STIME TTY          TIME CMD root         1     0  0 09:10 ?        00:00:01 /sbin/init root         2     0  0 09:10 ?        00:00:00 [kthreadd] root         3     2  0 09:10 ?        00:00:00 [rcu_gp] user      1234  1233  0 10:15 pts/0    00:00:00 bash user      5678  1234  0 10:20 pts/0    00:00:00 ps -ef

6. 常见用法

  1. 查看所有进程

    bash

    ps -ef
  2. 过滤特定用户的进程 使用 grep 过滤特定用户的进程,例如查看用户 root 的进程:

    bash

    ps -ef | grep root
  3. 查找某个进程 查找与某个关键字相关的进程,例如查找包含 nginx 的进程:

    bash

    ps -ef | grep nginx
  4. 查看进程的父子关系 通过 PPID 字段可以查看进程的父子关系。


7. 与其他命令的结合

  • 结合 awk:提取特定字段,例如提取所有进程的 PID 和 CMD:

    bash

    ps -ef | awk '{print $2, $8}'
  • 结合 less 或 more:分页查看输出:

    bash

    ps -ef | less

8. 注意事项

  • 使用 ps -ef 时,输出的信息量可能较大,建议结合 grep 或其他工具进行过滤。

  • ps 命令的选项在不同 Linux 发行版中可能略有差异,具体可以通过 man ps 查看帮助文档。

通过 ps -ef,你可以全面了解系统中所有进程的运行情况,是系统管理和故障排查的重要工具。


普通分类: