Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
1、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
2、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
3、就绪状态:在 run_queue 队列里的状态
4、运行状态:在 run_queue 队列里的状态
5、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生比如等待 socket 连接、等待信号量,而被挂起
6、zombie 状态僵尸:父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体task_struct也释放掉
7、退出状态
D 不可中断 Uninterruptibleusually IO
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换从内核 2.6 开始无效
X 死掉的进程
该回答引用自ChatGPT
Linux 中进程的状态有运行(R)、睡眠(S)、停止(T)、僵死(Z)、停止(T)和僵尸(Z)状态。在 ps 显示出来的信息中,分别用 R、S、T、Z 符号表示。
答案:
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 死掉的进程
建议收藏:
含义 | 符号 |
---|---|
运行中 | R |
睡眠中 | S |
停止 | T |
僵死 | Z |
内存保护 | W |
闲置 | D |
进程状态:
状态 | 含义 |
---|---|
就绪 | 指的是进程已经被调入内存,正等待处理机资源而准备运行的状态。 |
执行 | 指的是处理机正在为该进程服务的状态。 |
阻塞 | 指的是进程正在等待某些事件的发生,以便继续运行的状态。 |
终止 | 指的是一个进程的执行结束,准备进入完成状态的状态。 |
中断 | 指的是进程正在等待外部事件,如键盘输入,磁盘读写,网络消息等 |