1.进程退出的理论
进程退出有三个场景:
①代码运行完毕,结果正确
②代码运行完毕,结果不正确
③代码异常终止
main函数的返回值实际上是进程的退出码
echo $?指令可以输出最近一次程序退出时的退出码
后面的echo 为什么输出的是0?
以为最近的一次指令是上一次的echo,所以return 返回的是0
用退出码可以来判断程序执行的结果是正确还是不正确
我们一般用 0代表success , !0 代表failed
比如在这边错误的退出码就是2(2只是不正确情况中的一种,实际情况而定 )
我们可以打印一下,看一下各种错误码
代码异常终止,在我们的VS中被称为程序崩溃,也就是说代码还没有跑完就终止了,在这种情况下,错误码是没有意义的了,因为是unknown的
2 .进程退出的方式
有三种方式
方式一:return
main函数return, 代表进程退出,非main函数的return叫做函数返回
方式二:exit
exit在任意地方调用,都叫做终止进程,参数是退出码
数据这边本身是会被放在缓冲区的,但是exit or main里面的return 本身就会要求系统进行,缓冲区刷新!
总结:return 和 exit 除了帮我们能够退出程序以外,还可以帮助我们刷新缓冲区
方式三:_exit
_exit终止进程,强制终止进程,不要进行后续的收尾工作,比如刷新缓冲区
一张图说明exit()和_exit的区别,_exit()直接终止,exit()要做以下的一系列工作
ps:不刷新缓冲区!=不释放系统资源