----根据网络视频整理

进程的终止

0、前言

进程的返回值是给其父进程看的,main()函数的返回值,return 0; 这个0就是给父进程看的。我们在shell中启动该进程,则shell就是该进程的父进程。

在shell中查看上一进程的返回值,命令:

echo $?

倘若没有返回值,此时执行echo $?  ,如上打印的是7;  -----》是printf的返回值:7个字符。

1、五种正常终止方式

1)从main函数中返回------>return 0;

main作为当前进程的入口,也是当前进程的出口。

2)调用exit------>直接结束进程

man 3 exit------>exit 是库函数

返回值:是status&0377

0377 八进制数;

011 111 111----》将status的低八位数返回。

因为int是32位的有符号数。所以,返回的是有符号的char类型。即: -128至127

atexit():钩子函数

3)调用_exit 或 _Exit

man 2 _exit ----》是系统调用

如上图:调用exit会进程虚拟地址空间(虚框内)进行,资源的释放,IO的清理,再依赖_exit到内核。

而_exit,则直接调到虚框外,到内核,不执行钩子函数,IO清理。。。。。。

如上,f的值,居然出现了我们人为定义的0,1,2外的情况,

很有可能是?处的代码发生写越界,将f的空间覆盖写了。此时我们不能调用exit,这样会调用钩子函数,刷新IO,造成故障扩大。

此时,要使用_exit(),或者调用abort(),产生信号杀死进程。

4)最后一个线程从其启动例程(线程本身)中返回。

5)最后一个线程调用pthread_exit

2、三种异常终止方式

1)调用abort函数-----》发送signalabort信号给当前进程,杀死当前进程,并获得calmdown文件

2)接到一个信号并终止,例如使用ctrl+C终止进程。

3)最后一个线程对其取消请求作出响应(也是被迫终止,故算异常终止).

进程八种终止方式(很重要)相关推荐

  1. 【STM32】GPIO工作原理(八种工作方式超详细分析,附电路图)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第8章通用和复用功能IO(GPIO和AFIO ) 芯片数据手册(datasheet) STM32的GPIO介绍 STM32引 ...

  2. Selenium八种定位方式

    八种定位方式分别是:id.name.class name.tag name .link text.partial link textxpath.css selector. 元素标签或者元素属性:id. ...

  3. 分享一下目前市场上常用的八种推广方式,希望对你有帮助。

    游戏推广的核心本质是什么?就是新增玩家,我来给大家分享一下目前市场上常用的八种推广方式,希望对你有帮助. 一呢,做工会,作为一个工会的老大来说呢,它是有领导效应,而且公会都有公会群,将来号召大家一起换 ...

  4. python自动化测试xpath_selenium自动化测试:5.xpath八种定位方式

    0.前言 如果可以的话,请先关注(专栏和账号),然后点赞和收藏,最后学习和进步.你的支持是我继续写下去的最大动力,个人定当倾囊而送,不负众望.谢谢!!! 1.前提 基于win10专业版64位系统+64 ...

  5. 一个人就需要对象之js中八种创建对象方式

    前言:说,点进来是不是喜欢我的笑容!!!大家好,我叫C乐,(恩,很直不gay)一名退役的大学生,喜欢摩旅.从上课的一次css接触后,便喜欢上了前端,以下是我的一些学习笔记,站在前辈们的肩膀上,分享一些 ...

  6. Selenium Webdriver元素定位的八种常用方式

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

  7. 转载+记录数据增广的八种常用方式

    在图像的深度学习中,为了丰富图像训练集,提高模型的泛化能力,一般会对图像进行数据增强.常用的方式有:旋转.剪切.改变图像色差.扭曲图像特征.改变图像尺寸.增加图像噪声(高斯噪声.盐胶噪声). 思考:对 ...

  8. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍(转)

    [-] 一普通同步方式 二事务方式Transactions 三管道Pipelining 四管道中调用事务 五分布式直连同步调用 六分布式直连异步调用 七分布式连接池同步调用 八分布式连接池异步调用 九 ...

  9. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍--转载

    原文地址:http://www.blogways.net/blog/2013/06/02/jedis-demo.html redis是一个著名的key-value存储系统,而作为其官方推荐的java版 ...

最新文章

  1. 【OpenCV3】视频读写——cv::VideoCapture和cv::VideoWriter详解
  2. VMware Resource Pool Recommendations
  3. LiveVideoStackCon 2021 音视频技术大会北京站 延期通告
  4. ORA-32004 参数设置过时的解决办法
  5. 掌握Python爬虫基础,仅需1小时!
  6. python postgresql跨数据库操作_python 操作postgres数据库
  7. Android网络类型判断(2g、3g、wifi)
  8. 主进程退出后子进程还会存在吗?_[docker]从一个实例,一窥docker进程管理
  9. 15.6. Plugin Hook 设计与实现
  10. 如何用ZBrush快速绘制身体
  11. 娃哈哈的新品,为什么打动不了年轻人?
  12. java程序员 英文简历_Java程序员英文简历范文
  13. 米的换算单位和公式_小学数学单位换算公式大全.doc
  14. 关于控件注册和使用许可问题的解决办法
  15. 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题
  16. oracle 二进制算法,二进制搜索(查找)
  17. 新加坡国际学校IB成绩亮眼,全球40%满分考生来自新加坡
  18. 华为不招android,抛弃安卓后 ARM华为也不要了:全新CPU架构曝光
  19. centos 7.9系统安装 GT730显卡驱动问题,请帮忙下
  20. [NLP论文阅读] Discourse-Based Objectives for Fast Unsupervised Sentence Representation Learning

热门文章

  1. php利用ob_start()清除输出和选择性输出
  2. ob混淆解密在线工具
  3. 不可不知的“云计算”
  4. 使用阿里云OOS搭建图床并使用PicGo上传图片
  5. boost---介入式指针intrusive_ptr
  6. 迅雷链技术沙龙:什么企业都适合用区块链吗?
  7. VMware Horizon 8安装部署(二)NFS共享存储
  8. android 播放gif动画效果,Android开发:教您如何让Gif动画动起来
  9. (译)开发优秀的虚拟现实体验:从开发I Expect You to Die中总结的六个要点
  10. Java网络斗地主小程序