ค่าคอลัมน์ STAT ใน ps หมายถึงอะไร


163

ในคอลัมน์ STAT ของ ps มีตัวอักษรจำนวนมากที่ไม่เข้าท่า พวกเขาหมายถึงอะไร?

นี่คือตัวอย่างของ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]

คำตอบ:


266

man ps มีคำตอบทั้งหมดภายใต้หัวข้อ "กระบวนการรหัสรัฐ":

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.

19
ฉันมาถึงคำตอบนี้บ่อยครั้งเป็นข้อมูลอ้างอิง
ตั๊กแตน

1
น่าสนใจฉันได้รับ "U" เป็นรหัสรัฐซึ่งดูเหมือนจะไม่ถูกบันทึกไว้ที่ใดก็ได้ ความคิดใดที่ว่าหมายถึงอะไร
ทอม

2
ผู้นำเซสชัน
Marco Marsala

6
@MarcoMarsala โดยที่ ID เซสชั่นของกระบวนการเหมือนกับ ID กระบวนการ มันเป็นหลักหมายความว่าเป็นกระบวนการแรกในเซสชั่น โดยปกติแล้วจะเป็นเทอร์มินัลการเข้าสู่ระบบเช่น bash หรือ X กระบวนการจัดกลุ่มเช่นเซสชันช่วยให้ล้างข้อมูลได้ง่ายเมื่อกระบวนการผู้นำสิ้นสุดลง มันคล้ายกับผู้ปกครอง
Oli

2
@Oli - ใหม่ถูกเพิ่มเข้ามาในปี 2017, I = Idle - unix.stackexchange.com/questions/462098/...
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.