在Linux中,一个执行的程序就是一个进程,每一个进程都会分配一个ID(PID 进程号)
1、进程存在的方式:
- 前台:用户当前屏幕上进行的操作
- 后台:实际在操作,但屏幕上无法看到的操作
一般系统的服务都是以后台的方式进行的,直到系统关机才会停止
2、ps 命令
查询当前系统的进程状态。
命令:
ps [选项]
- a: 显示现行终端机下的全部程序,包括其余用户的程序。
- u: 以用户为主的格式来显示程序情况
- x: 显示全部程序,不以终端机来区分。

字段含义:
- USER 进程所有者的用户名
- PID 该程序进程号
- %CPU 进程自最近一次刷新以来所占用的CPU时间和总时间的百分比
- %MEM 进程使用内存的百分比
- VSZ 进程使用的虚拟内存大小,以K为单位
- RSS 驻留空间的大小。显示当前常驻内存的程序的K字节数。
- TTY 该进程是在哪个终端上运行的,若以终端无关则显示?。
另外,tty1-tty6是本机上面的登入者程序,若为pts/0等等的,则表示为网络连接进主机的程序 - STAT 进程状态,包括下面的状态:运行R、中断S、不可中断D、僵尸Z、停止T。
- START 进程开始时间
- TIME 进程使用的总CPU时间
- COMMAND 该进程的实际指令
- NI 进程的优先级值,较小的数字意味着占用较少的CPU时间
- PRI 进程优先级。
- PPID 父进程ID
- WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运行

- F 代表这个程序的旗标 (flag), 4 代表使用者为超级用户
- S 代表这个程序的状态 (STAT)
- UID 程序被该 UID 所拥
- C CPU 使用的资源百分比
- ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 “-“
- SZ 使用掉的内存大小
- CMD 所下达的指令为何报告当前系统的进程
3、STAT:狀態位常見的狀態字符
D :没法中断的休眠状态(一般 IO 的进程);
R :正在运行可中在队列中可过行的;
S :处于休眠状态;
T :中止或被追踪;
W :进入内存交换 (从内核2.6开始无效);
X :死掉的进程 (基本不多見);
Z :僵尸进程;
< :优先级高的进程
N : 优先级较低的进程
L :有些页被锁进内存;
s :进程的领导者(在它之下有子进程);
l :多进程的(使用 CLONE_THREAD, 相似 NPTL pthreads);
+ :位于后台的进程组;