概述
0:首先明确概念
退出有正常退出和异常退出,
正常退出:
(1)main函数调用return
(2)进程调用exit(),标准c库
(3)进程调用_exit()或者_Exit(),属于系统调用
补充:
(1)进程最后一个线程返回
(2)最后一个线程调用pthread_exit
异常退出:
(1)调用abort
(2)当进程收到某些信号时候,如ctrl+C
(3)当最后一个线程对取消(cancellation)请求做出响应
不管进程如何中止,最后都会执行内核中的同一段代码。这段代码为相应进程关闭所有的打开描述符,释放她所使用的内存等。
对上述任意一种终止类型,我们都希望中止进程能够通知其父进程它是如何终止的。对于三个终止函数(exit,_exit,_Exit),实现这一点的方法是,将其退出状态(exit status)作为参数传送给函数。在异常中止情况下,内核(不是进程本身)产生一个指示其异常中止原因的终止状态(termination status)。在任意一种情乱下,该终止进程的父进程都是能用wait或者waitpid函数取得其终止状态
最后
以上就是难过钢铁侠为你收集整理的Linux笔记11:进程退出的全部内容,希望文章能够帮你解决Linux笔记11:进程退出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复