【Linux】进程终止

进程退出情况

进程退出有三种情况:
1、代码运行完毕,结果正确
2、代码运行完毕,结果不正确
3、代码异常终止

下面介绍三种进程的退出方法。

进程退出方法

echo $?

echo $?输出最近一次进程的退出码。对应三种退出情况,会有三种进程的退出码情况。

0表示success,非0表示failed,如果程序崩溃,那么退出码也变得没有意义了!!!

_exit函数

在这里插入图片描述
status比特位:
在这里插入图片描述
status是进程的终止状态,父进程可以用wait获取,但是进程只有低8位能被父进程使用。

如果_exit(-1),执行$?会发现返回值是255.

exit函数

在这里插入图片描述

exit在任何地方调用,都代表进程终止,参数是退出码。

exit在退出前,会:
1、执行用户定义的清理函数
2、关闭所有打开的流,所有的缓存数据均被写入!!!(exit和main函数的return会要求系统进行缓冲区刷新)
3、调用_exit

_exit 的对比:

在这里插入图片描述

关于数据缓冲和exit _exit的对比:

在这里插入图片描述
输出:
在这里插入图片描述
_exit不会刷新缓冲区

return退出

return n等同于exit(n),调用main时,main会把返回值当作exit的参数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoyCheung-

赏颗糖吃吧~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值