ps列中的STAT值是什么意思?

在ps的STAT列中,有一堆字母并没有多大意义。 他们的意思是什么?

这是ps aux | head的一个例子 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.