Linux进程退出
1.退出场景
- 正常符合预期退出
- 正常不符合预期退出(结果不正确)
- 异常退出:执行过程中异常奔溃, 还未执行完
2.进程常见的退出方法
2.1正常退出
- main函数返回 ( return )
- 调用 exit( int status )函数
- 使用 _exit( int status )系统调用接口
可以使用ench $? 来查看进程退出码
2.2异常退出
- 向进程发送信号导致进程异常退出(如 Ctrl+c 终止信号)
- 代码错误导致进程运行时奔溃异常退出
第一种情况是Linux系统中的信号,系统响应某些状况而产生的事件,是进程间通信的一种方式。信号可以由一个进程发送给另外进程,也可以由内核发送给进程。第二种情况是代码错误而导致程序异常,运行崩溃退出。
3.信号处理程序
信号处理程序是进程在接收到信号后,系统对信号的响应。根据具体信号的含义,相应的默认信号处理程序会采取不同的处理方式:
- 终止进程运行,并且产生core dump (核心转储文件,记录一些错误信息)
- 终