Các giá trị cột STAT trong ps có nghĩa là gì?


163

Trong cột STAT của ps có rất nhiều chữ cái không thực sự có ý nghĩa. Có ý nghĩa gì?

Đây là một ví dụ về 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]

Câu trả lời:


266

man ps có tất cả các câu trả lời, dưới tiêu đề "QUY TRÌNH NHÀ NƯỚC QUY TRÌNH":

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
Tôi đi đến câu trả lời này khá thường xuyên như một tài liệu tham khảo
châu chấu

1
Thật thú vị, tôi nhận được một chữ "U" là mã trạng thái dường như không được ghi lại ở bất cứ đâu. Bất cứ ý tưởng đó có nghĩa là gì?
Tom

2
Trưởng nhóm?
Marco Marsala

6
@MarcoMarsala Trường hợp ID phiên của quy trình giống với ID quy trình của nó. Về cơ bản, điều đó có nghĩa là đó là quá trình đầu tiên trong phiên. Nó thường là một thiết bị đầu cuối đăng nhập như bash hoặc X. Nhóm các quy trình như phiên cho phép dễ dàng dọn dẹp khi quá trình lãnh đạo kết thúc. Nó tương tự như cha mẹ.
Oli

2
@Oli - một cái mới đã được thêm vào năm 2017, I = Idle - unix.stackexchange.com/questions/462098/ .
slm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.