linux process有以下几种状态:
1.TASK_RUNNING
2.TASK_INTERRUPTIBLE
3.TASK_UNINTERRUPTIBLE:这个跟上个状态的不同的地方在于处于这种状态的process是不可以被signal唤醒的
4.TASK_STOPPED
5.TASK_TRACED(当进程被debbuger停止时)
6.EXIT_ZOMBIE:当进程的父进程未进行wait()或waitpid()系统调用时
7.EXIT_DEAD
处于EXIT_STOPPED,EXIT_ZOMBIE,EXIT_DEAD的进程不处于任何队列中,而是由其父进程进行处理。
处于TASK_RUNNING状态的进程被按照优先级放于不同的队列中
处于TASK_INTERRUPTIBLE,TASK_UNINTERRUPTIBLE状态的进程按其等待的事件的不同放于不同的等待队列中。
每个等待队列中,nonexclusive进程放在队列前头,exclusive的进程放在队列的后面,所以每个事件会唤醒所有的nonexclusive进程,但是只会唤醒一个
exclusive进程。
2009/01/16 五
process state & process queue
最新推荐文章于 2024-04-16 15:26:00 发布