Linux 8种进程状态及状态转换

Linux 8种进程状态及状态转换

首页休闲益智放置僵尸大楼Zombie Tower Idle更新时间:2024-08-01
Linux 8种进程状态

通过ps aux可以看到进程的状态。

O:进程正在处理器运行,这个状态从来没有见过.

S:休眠状态(sleeping)

R:等待运行(runable)R Running or runnable (on run queue) 进程处于运行或就绪状态

I:空闲状态(idle)

Z:僵尸状态(zombie)

T:跟踪状态(Traced)

B:进程正在等待更多的内存页

D: 不可中断的深度睡眠,一般由IO引起,同步IO在做读或写操作时,cpu不能做其它事情,只能等待,这时进程处于这种状态,如果程序采用异步IO,这种状态应该就很少见到了

其中就绪状态表示进程已经分配到除CPU以外的资源,等CPU调度它时就可以马上执行了。运行状态就是正在运行了,获得包括CPU在内的所有资源。等待状态表示因等待某个事件而没有被执行,这时候不耗CPU时间,而这个时间有可能是等待IO、申请不到足够的缓冲区或者在等待信号。

在Linux源码中, 进程状态的定义在fs/proc/array.c文件中。

/* * The task state array is a strange "bitmap" of * reasons to sleep. Thus "running" is zero, and * you can test for combinations of others with * simple bit tests. */ static const char * const task_state_array[] = { "R (running)", /* 0 */ "S (sleeping)", /* 1 */ "D (disk sleep)", /* 2 */ "T (stopped)", /* 4 */ "t (tracing stop)", /* 8 */ "X (dead)", /* 16 */ "Z (zombie)", /* 32 */ }; 进程状态转换

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved