正常退出五种情况
1.main函数调用return
2.进程调用exit(),标准库c
3.进程调用 _exit()或者,_Exit() ,属于系统调用
补充:
1.进程最后一个线程返回
2.最后一个线程调用pthread_exit
异常退出的三种情况
1.调用abort
2.当进程收到某些信号时,ctrl+c
3.最后一个线程对取消(cancellation )请求做出响应
不管哪种退出,最后都会执行内核中的同一代码。这段代码为相应进程关闭所有打开描述符,释放它所使用的存储器等。