关于wait 和 exit

Posted 菜比170

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于wait 和 exit相关的知识,希望对你有一定的参考价值。

照着书上来的 大概理解一下这两个的作用

 

首先是exit

就是只一个程序执行完毕 然后将返回值存储到pcb中  然后主动调用exit 退出程序  然后由内核去回收页框 emmm

然后是wait 

wait从字面意思来讲就是等待 父进程通过wait 来将自己阻塞 然后系统会去执行子进程 子进程执行结束后 会将pid返回给内核 内核再将pid给父进程 并唤醒父进程 

这里引申出来的就是孤儿进程 和 僵尸进程  孤儿进程顾名思义 子进程未执行完成 父进程已经结束  这样的进程就被成为孤儿进程 此时的孤儿进程会被托付给init进程 

僵尸进程是指当父进程派生出子进程后并未调用wait去接收返回值 而子进程结束运行以后 内存被释放 但是所占的pcb无法回收(回收是通过父进程通过wait向内核发起请求获得返回值并将子进程回收)

无返回值 无法回收空间 就成了僵尸进程 也无法交给init收养

以上是关于关于wait 和 exit的主要内容,如果未能解决你的问题,请参考以下文章

exit,_exit,wait,waitpid

关于wait/notify

关于wait/notify

关于wait,notify,notifyall,sleep方法的思考

关于TCP主动关闭连接中的wait_timeout

关于 pthread_barrier_wait