问题描述
在ps的STAT列中,有一大堆字母没有太多意义。他们的意思是什么?
这是ps aux | head
的一个例子:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 27176 2960 ? Ss Sep20 0:02 /sbin/init
root 2 0.0 0.0 0 0 ? S Sep20 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Sep20 13:05 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Sep20 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S< Sep20 0:00 [kworker/u:0H]
root 8 0.0 0.0 0 0 ? S Sep20 2:16 [migration/0]
root 9 0.0 0.0 0 0 ? S Sep20 0:00 [rcu_bh]
root 10 0.0 0.0 0 0 ? S Sep20 20:08 [rcu_sched]
root 11 0.0 0.0 0 0 ? S Sep20 0:07 [watchdog/0]
root 12 0.0 0.0 0 0 ? S Sep20 0:05 [watchdog/1]
root 13 0.0 0.0 0 0 ? S Sep20 2:21 [ksoftirqd/1]
root 14 0.0 0.0 0 0 ? S Sep20 1:00 [migration/1]
最佳解决办法
man ps
在“PROCESS STATE CODES”标题下有所有答案:
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent.
For BSD formats and when the stat keyword is used, additional characters may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group.