可信网站认证哪里有忻州网站建设网站推广
web/
2025/10/6 8:27:21/
文章来源:
可信网站认证哪里有,忻州网站建设网站推广,重庆网站开发企业,站长工具一区进程的状态
进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型中#xff0c;进程状态分为三个基本状态#xff0c;即运行态#xff0c;就绪态#xff0c;阻塞态。
一个进程从创建而产生至撤销而消亡的整个生命期间#xff0c;…进程的状态
进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型中进程状态分为三个基本状态即运行态就绪态阻塞态。
一个进程从创建而产生至撤销而消亡的整个生命期间有时占有处理器执行有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行这一切都说明进程和程序不相同它是活动的且有状态变化的这可以用一组状态加以刻画。为了便于管理进程一般来说按进程在执行过程中的不同情况至少要定义三种不同的进程状态。
运行态(Running)进程占用CPU在运行。准备态(Ready):进程具备了运行条件等待系统分配CPU资源云心 。阻塞态(Blocked):有时候也叫做等待态指进程不具备运行条件等待某事件的发生才能运行。 进行I/O访问调用sleep访问锁等都可能进入阻塞态。收到SIGSTOPSIGSTP,SIGTTIN,SIGOUT信号时进程会被停止。所有的条件已经具备收到SIGCONT,进程会进入运行态。 终止(Terminated)在五状态模型中还会有新建态和终止态。新建态没有什么特别的就是进程刚被创建。 进入终止态的三个原因 收到一个信号该信号的默认行为是终止进程从主程序返回如从main函数返回一个整形调用exit函数
进程资源回收
前一篇父进程和子进程的关系已经说明了他们之间的关系子进程结束后要由父进程负责回收子进程的资源。 父进程应该如何回收那父进程一般通过下面两个函数等待子进程结束和接受子进程的状态。
#include sys/types.h
#include sys/wait.hpid_t waitpid(pid_t pid, int *status, int options);
pid_t wait(int * status);wait(status) 是waitpid()的简化版本相当于waitpid(-1,status, 0); 这里只说明一下waitpid的一些参数和返回值。 参数pid:
pid 0 表示等待进程id为pid的子进程结束。pid 0, 表示等待与当前进程在同一个进程组的任意子进程结束。pid -1, 表示等待任意子进程结束。pid -1, 表示等待进程组id为-pid的任意子进程结束。
参数status status为一个执行整形参数的指针用来存储子进程的退出状态。如果子进程正常退出status会被设置为子进程的退出状态。如果子进程被信号中断status会被设置一个特殊的值表示子进程被哪个信号中断。
options参数 是一个控制waitpid()函数行为的标志位它可以取以下值 WNOHANG如果没有子进程结束则立即返回0不阻塞。 WUNTRACED如果子进程进入暂停状态也立即返回。 WCONTINUED如果子进程恢复执行则立即返回。 WSTOPPED等待任何一个子进程进入暂停状态。 WEXITED等待任何一个子进程结束。 WNOWAIT不删除已经结束子进程的进程表项用于后续处理。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87816.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!