进程退出的情况
- 代码执行完结果正确
- 代码执行完,结果不正确
- 代码没执行完,异常终止
当进程结束时,main函数会返回进程退出码,而通过退出码可以判断当前的运行结果是否正确
通过在终端输入 echo $? 就能查看上一个程序结束时返回的退出码
- 退出码为0,则表示结果正确
- 退出码非0,则表示结果不正确
而退出又分为正常退出与异常退出
- 正常退出
通过main函数return结束程序
通过调用exit()函数终止程序
通过调用_exit()函数终止程序
int main()
{
printf("hello");
exit(15);
}
exit()函数中可以传递一个参数,作为当前程序退出时返回的退出码,如果程序从exit(15)处退出,则程序返回的退出码便是15
- 异常退出——进程崩溃
访问空指针
内存访问越界
对比exit函数与_exit函数的区别
_exit()时相对强制的终止操作,直接终止进程
而exit()函数会先将所有缓冲数据写入,并关闭所有打开的流,最后一步执行的也是_exit()函数