进程终止(方法)

进程退出场景

代码运行完毕,结果正确。

代码运行完毕,结果错误。

代码异常终止

进程常见退出方法 

正常终止(可通过 echo $? 查看进程退出码):

1.从main返回

2.调用exit

3._exit 

 异常退出:

ctrl + c,信号终止

 查看进程退出码

 echo $?      输出最近一次进程退出时的退出码 (正常退出返回 0)

0:success      !0:failed

main函数 

main函数return,代表进程退出。非main函数返回代表函数返回。 

return是一种更常见的退出进程方法。执行return n等同于执行exit(n),因为调用main的运行时函数会将main的返 回值当做 exit的参数。

exit函数 

 

 exit函数在任何函数当中都代表着进程的退出,不限于main,参数为退出码。

_exit函数

 _exit终止进程,但是不要进行进程的收尾工作(冲刷缓冲,关闭流)。

 

进程退出在操作系统中做了什么?

系统层面,少了一个进程:free PCB,free, mm_struct, free 页表和各种映射关系,

代码 + 数据 申请的空间也要释放掉。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值