当前位置: 首页 > news >正文

【Linux】进程终止

进程退出场景

  • 代码运行完毕,结果正确
  • 代码运行完毕,结果不正确
  • 代码异常终止

可以用return 的不同的返回值数字,表征不同的出错原因退出码所以进程运行正不正常我们可以查看退出码来判断;

如果进程异常,退出码就无意义;

退出码

关于return 0

main函数为什么要return这个‘0’呢?

这个‘0’我们将其称之为叫做进程的退出码
这个退出码,它的意义在于表征我们进程的运行结果是否正确,而其中我们用‘0’一般表示的是叫做success。

因为我们想通过这个‘0’来告诉另一个告诉我们当前的程序--代码跑完而且结果是正确的。
 

最后这个‘0’到哪里去了呢?
一般而言,是父进程会关心进程的运行情况。这个return的‘0’最后会被我们的父进程,即我们所对应的bash拿到。

main函数的返回值,本质表示:进程运行完成时是否是正确的结果,如果不是,可以用不同的数字,表示不同的出错原因。

指令echo $?

echo $?

可查看进程最近一次退出时的退出码;

当我们把return 0改为return 11时,那么第一次执行echo $?拿到的退出码就是11

为什么第二次第三次打印就变成0了呢?
因为这一次打印的时候,最近一次执行程序就变成了echo命令,echo命令上次执行时是正确的,所以它最终对应的退出码就为0了。

查看错误码对应描述

写一个打印系统默认提供的它对应的错误码的描述:

系统提供的错误码和错误码描述是有对应关系的。

errno

当这个命令执行失败的时候,使用errno可以让用户知道了失败的原因。根据对应执行失败的个结果来再调整自己执行程序的方式。

运行结果:

exit与return

exit在任意地方被调用,都表示调用进程直接退出

return 只表示当前函数返回,还会向后运行

exit与_exit

1.exit是库函数,_exit是系统调用

http://www.lryc.cn/news/224094.html

相关文章:

  • 55.跳跃游戏
  • php实现钉钉机器人推送消息和图片内容(完整版)
  • A Survey on Neural Network Interpretability
  • 代码随想录 Day41 动态规划09 LeetCode T121 买卖股票的最佳时机 T122 买卖股票的最佳时机II
  • ubuntu18-recvfrom接收不到广播报文异常分析
  • 漏刻有时百度地图API实战开发(6)多个标注覆盖层级导致不能响应点击的问题
  • 使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问
  • MySQL的表格去重,史上最简便的算法,一看就会
  • this是指向的哪个全局变量,改变this指向的方法有几种?
  • 电脑msvcp110.dll丢失怎么办,msvcp110.dll缺失的详细修复步骤
  • cookie 里面都包含什么属性?
  • LinuxMySql
  • 《微服务架构设计模式》之三:微服务架构中的进程通信
  • μC/OS-II---内核:任务调度
  • 小程序发成绩
  • tensorflow内存泄漏或模型只加载不运行
  • npm和yarn的一些命令
  • Linux开发工具之自动化构建工具-make/Makefile
  • UE5蓝图接口使用方法
  • vue动态修改css样式
  • 小解List的使用【C++】
  • 自动驾驶高效预训练--降低落地成本的新思路(AD-PT)
  • Spring笔记(四)(黑马)(web层解决方案-SpringMVC)
  • 企业如何实现高效运转?工单管理系统有什么特点和优势?
  • 工业摄像机参数计算
  • Android系统中设置TextView的行间距
  • 嵌入式养成计划-47----QT--基于QT的OpenCV库实现人脸识别功能
  • MySQL(12):MySQL数据类型
  • 哪款手机便签软件支持存储录音文件并支持转文字?
  • Health Kit申请验证有问题?解决方案全解析