Linux进程是动态执行体,拥有独立资源;用ps查看:默认显示当前终端用户进程,ps -f全格式,ps -e/A显示所有进程,ps aux最常用;状态码R/S/D/T/Z分别表示运行、休眠、不可中断休眠、停止、僵尸。

Linux进程是正在运行的程序实例,它拥有独立的内存空间、打开的文件、CPU时间片和系统资源。进程不是静态文件,而是动态执行体——同一个可执行文件(如 /bin/bash)可以同时启动多个进程,每个都有自己的PID(进程ID)和运行状态。
怎么看当前有哪些进程?基础用法
直接输入 ps,会显示当前终端下属于当前用户的进程,只包含最基本字段:PID、TTY、TIME、CMD。这种默认视图适合快速确认自己启动了哪些命令,但信息有限。
更实用的起点是:
-
ps -f:全格式输出,能看到UID(用户)、PID、PPID(父进程ID)、C(CPU使用率)、STIME(启动时间)、TTY、TIME、CMD(完整命令行) -
ps -e或ps -A:显示系统中所有进程(不限用户、不限终端) -
ps aux:最常用组合——a(所有终端进程)、u(用户格式,含%CPU、%MEM、VSZ等资源指标)、x(补充无终端进程,如守护进程)。注意:这不是POSIX标准写法,但几乎所有发行版都支持,且信息全面直观
进程状态码代表什么?关键标识要认得
在 ps 输出的 STAT 列里,1–2个字母表示进程当前状态。最常遇到的有:
- R:正在运行(runnable),或已在就绪队列中等待CPU调度
- S:可中断休眠(sleeping),比如等待I/O、定时器或用户输入
-
D:不可中断休眠(uninterruptible sleep),通常卡在磁盘或设备驱动层,
kill无法终止 -
T:已停止(stopped),被信号如
SIGSTOP暂停,可用kill -CONT恢复 -
Z:僵尸进程(zombie),子进程已退出但父进程尚未调用
wait()回收,不占资源但会残留PID
额外常见标记:l 表示多线程进程,+ 表示前台进程组成员, 表示高优先级,










