.
F
:代表这个½程旗标
(process flags)
,说明这个½程的总½权限,常见号码有:
.
若为
4
表示此½程的权限为
root
;
.
若为
1
则表示此子½程½½行
复制
(fork)
而没有实际执行
(exec)
。
.
S
:代表这个½程的状态
(STAT)
,主要的状态有:
.
R (Running)
:该程序正在运作中;
.
S (Sleep)
:该程序目前正在睡眠状态
(idle)
,但可以被唤醒
(signal)
。
.
D
:不可被唤醒的睡眠状态,通常这支程序可能在等待
I/O
的情况
(ex>
打印
)
.
T
:停止状态
(stop)
,可能是在工作控制
(
背景暂停
)
或除错
(traced)
状态;
.
Z (Zombie)
:½尸状态,½程已经终止但却无法被移除至内存外。
.
UID/PID/PPID
:代表『此½程被该
UID
所拥有
/
½程的
PID
号码
/
此½程的父½程
PID
号码』
.
C
:代表
CPU
使用率,单位为百分比;
.
PRI/NI
:
Priority/Nice
的缩写,代表此½程被
CPU
所执行的优先级,数值越小代表该½程越快被
CPU
执行。
详细的
PRI
与
NI
½在
下一小½
说明。
.
ADDR/SZ/WCHAN
:都与内存有关,
ADDR
是
kernel function
,指出该½程在内存的哪个部分,如果是个
running
的½程,一般就会显示『
-
』
/ SZ
代表此½程用掉多少内存
/ WCHAN
表示目前½程是否运作中,
同样的,
若为
-
表示正在运作中。
.
TTY
:登入者的终端机位置,若为远程登录则使用动态终端½口
(pts/n)
;
.
TIME
:使用掉的
CPU
时间,注意,是此½程实际花费
CPU
运作的时间,而不是系统时间;
.
CMD
:就是
command
的缩写,造成此½程的触发程序之指令为何。
所以你看到的
ps -l
输出讯息中,他说明的是:『
bash
的程序属于
UID
为
0
的使用者,状态为
睡眠
(sleep)
,
之所以为睡眠因为他触发了
ps (
状态为
run)
之故。此½程的
PID
为
14836
,优
先执行顺序为
80
,
下达
bash
所取得的终端½口为
pts/0
,运作状态为等待
(wait)
。』这样已
经够清楚了吧?
您自己尝试½析一下那么
ps
那一行代表的意义为何呢?
^_^
½下来让我们使用
ps
来观察一下系统内所有的½程状态吧!
o
观察系统所有½程:
ps aux
范例二:列出目前所有的正在
内
存
当
中的
½
程:
[root@study ~]#
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 60636 7948 . Ss Aug04 0:01 /usr/lib/systemd/systemd ...
root 2 0.0 0.0 0 0 . S Aug04
0:00 [kthreadd]
.....(
中
间
省略
).....
root 14830 0.0 0.1 210744 3988 pts/0 S Aug04 0:00 sudo su
-