欢迎各位兄弟 发布技术文章
这里的技术是共享的
ps -ef
是 Linux 系统中一个常用的命令,用于显示当前系统中所有运行的进程信息。下面是对该命令的详细解析:
bash
ps -ef
ps -ef
用于列出系统中所有用户的所有进程的详细信息,包括进程的 PID、PPID、CPU 使用率、启动时间、启动命令等。
ps
:Process Status 的缩写,用于查看进程状态。
-e
:显示所有进程(包括其他用户启动的进程)。 # ps -e #也是查看所有的进程信息 在 ps -e 命令中,e 是 "every" 的缩写。它代表 "所有进程"(every process)。使用这个选项时,ps 命令会显示系统上的所有进程,无论它们是否与当前终端相关联。因此,ps -e 命令用于列出所有正在运行的进程。
-f
:显示完整格式的进程信息(Full-format listing)。
ps -ef
的输出通常包含以下字段:
字段 | 说明 |
---|---|
UID | 启动进程的用户 ID(用户名称)。 |
PID | 进程 ID(Process ID),系统中每个进程的唯一标识。 |
PPID | 父进程 ID(Parent Process ID),表示启动该进程的父进程。 |
C | CPU 使用率(CPU utilization)。 |
STIME | 进程启动的时间(Start Time)。 |
TTY | 进程关联的终端设备(Terminal)。? 表示进程没有关联到终端。 |
TIME | 进程占用的 CPU 时间(格式为小时:分钟:秒 )。 |
CMD | 启动进程的命令或程序名称。 |
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
查看所有进程
bash
ps -ef
过滤特定用户的进程 使用 grep
过滤特定用户的进程,例如查看用户 root
的进程:
bash
ps -ef | grep root
查找某个进程 查找与某个关键字相关的进程,例如查找包含 nginx
的进程:
bash
ps -ef | grep nginx
查看进程的父子关系 通过 PPID
字段可以查看进程的父子关系。
结合 awk
:提取特定字段,例如提取所有进程的 PID 和 CMD:
bash
ps -ef | awk '{print $2, $8}'
结合 less
或 more
:分页查看输出:
bash
ps -ef | less
使用 ps -ef
时,输出的信息量可能较大,建议结合 grep
或其他工具进行过滤。
ps
命令的选项在不同 Linux 发行版中可能略有差异,具体可以通过 man ps
查看帮助文档。
通过 ps -ef
,你可以全面了解系统中所有进程的运行情况,是系统管理和故障排查的重要工具。