17
2020
02

Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

答案:

(1)、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。

(2)、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。

“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。


(3)、就绪状态:在 run_queue 队列里的状态


(4)、运行状态:在 run_queue 队列里的状态

(5)、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起

(6)、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉

(7)、退出状态


D 不可中断 Uninterruptible(usually IO)

R 正在运行,或在队列中的进程

S 处于休眠状态

T 停止或被追踪

Z 僵尸进程

W 进入内存交换(从内核 2.6 开始无效)

X 死掉的进程

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。