ps -ef 命令输出详解
你执行了 Linux 命令:
ps -ef
这条命令用来列出系统所有进程完整信息。
1. 表头字段含义
UID PID PPID C STIME TTY TIME CMD
| 字段 | 说明 |
|---|---|
| UID | 进程运行的用户ID(root=超级管理员) |
| PID | 进程ID,每个进程唯一标识 |
| PPID | 父进程ID,谁启动了这个进程 |
| C | CPU使用率(调度权重) |
| STIME | 进程启动时间 |
| TTY | 关联终端;? 代表后台守护进程,不绑定任何终端 |
| TIME | 进程累计占用CPU的总时间 |
| CMD | 启动进程的命令/程序 |
2. 各行解读
第一行
root 1 0 0 8月06 ? 00:00:55 /sbin/init noibrs
- PID=1:系统一号进程(init/systemd),所有用户进程的祖先,PPID=0。
- 8月06启动,后台进程(
?)。
带 [xxx] 的进程(例如 [kthreadd]、[rcu_gp])
root 2 0 0 8月06 ? 00:00:00 [kthreadd]
root 3 2 0 8月06 ? 00:00:00 [rcu_gp]
- 方括号
[]代表内核线程(内核进程),由操作系统内核创建,不是用户启动的程序。 - PID=2
kthreadd:内核线程总管,所有其他内核线程的父进程(PPID=2)。
几个常见内核线程简单说明:
kthreadd:内核线程管理器rcu_*:RCU锁机制相关内核线程(内核同步机制)ksoftirqd/0:0号CPU软中断处理线程migration/0:0号CPU进程迁移线程
3. 补充小知识点
- TTY=?
表示进程不在ssh/本地终端运行,是系统后台常驻服务(守护进程daemon)。你登录的shell进程会显示/dev/pts/X。 - 区分内核进程 vs 用户进程
[进程名]→ 内核线程;- 没有方括号(如
/sbin/init)→ 用户态进程。
如果你需要,我可以教你怎么根据PID杀掉进程、查看进程占用资源(top/htop)。