ps -ef 是 Linux 中查看进程信息的常用命令,各参数含义如下:
参数解析
- -e :显示所有进程(every process),包括其他用户的进程
- -f :显示完整格式(full format),提供更详细的信息
输出列说明
执行 ps -ef 会显示以下列:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:30 ? 00:00:03 /sbin/init
root 2 0 0 08:30 ? 00:00:00 [kthreadd]
...
各列含义:
- UID:进程所有者的用户名
- PID:进程ID(唯一标识)
- PPID:父进程ID
- C:CPU利用率
- STIME:进程启动时间
- TTY:启动进程的终端(? 表示没有终端,通常是系统守护进程)
- TIME:进程占用CPU的总时间
- CMD:启动进程的完整命令
常用组合示例
bash
# 查看所有进程
ps -ef
# 结合 grep 查找特定进程
ps -ef | grep nginx
# 查看特定用户的进程
ps -fu username
# 按 CPU 使用率排序
ps -ef --sort=-pcpu
# 按内存使用排序
ps -ef --sort=-pmem
对比其他常用格式
bash
# ps aux (BSD 风格,更常用)
ps aux # 显示 %CPU, %MEM 等信息
# ps -ef (UNIX 风格)
ps -ef # 显示 PPID, C, STIME 等信息
# 显示更详细的信息
ps -efl # 加 -l 显示更多列(F, S, PRI, NI, ADDR 等)
提示 :ps aux 和 ps -ef 都是查看所有进程的常用方式,区别在于输出格式不同。ps aux 通常显示 CPU 和内存百分比,而 ps -ef 显示父进程 ID 和启动时间等信息。