进程是资源分配的最小单位。
进程:
1)PCB(进程控制块)
2)代码段
3)数据段
4)堆栈段
一个程序 1<---------------->n 进程
终止程序的5种方法:
1)main中调用return
2)调用exit(c库函数)
3)调用_exit(系统调用)
4)调用abort(产生SIGBRT信号、异常终止)
5)由信号终止(如Ctrl + c 产生的SIGINT信号)
注意:
1)main返回---->调用exit
2)exit会调用fflush + 调用_exit
3)但是_exit不会调用fflush
下图所示:
综上所述:当一个程序结束后,还可以通过atexit接口注册结束处理回调函数做一些程序异常退出时无法在正常逻辑代码中完成的清理工作。
(END)