exit()函数

2023-11-16

进程的终止方式:
有8种方式使进程终止,其中前5种为正常终止,它们是
1:从 main 返回
2:调用 exit
3:调用 _exit 或 _Exit
4:最后一个线程从其启动例程返回
5:最后一个线程调用pthread_exit
异常终止有3种,它们是
6:调用 abort
7:接到一个信号并终止
8:最后一个线程对取消请求做出响应

exit()函数整个过程:
1、调用atexit()注册的函数(出口函数)
2、cleanup();关闭所有打开的流
3、最后调用_exit()函数终止进程。
  _exit做3件事(man):
  1,Any open file descriptors belonging to the process are closed
  2,any children of the process are inherited by process 1, init
  3,the process’s parent is sent a SIGCHLD signal
  exit执行完清理工作后就调用_exit来终止进程。
  


这就应该先说一下这个atexit()函数的功能了。
这是一个注册函数,一个进程注册至少32个的函数。
需要注意的是,调用的顺序和登记时的顺序刚好是相反的,可以看下面一段代码:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

exit()函数 的相关文章

  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t

随机推荐

  • 【2023】终端的n种打开方式+Anaconda修改虚拟环境默认安装路径+创建虚拟环境

    目录 一 终端的n种打开方式 1 使用 运行 对话框 2 通过右键菜单 3 通过开始菜单 4 通过搜索 5 通过文件资源管理器 6 通过任务管理器 二 更改虚拟环境安装路径 1 使用命令行修改 方法一 查看conda配置 使用如下命令更改默
  • 【MATLAB教程案例23】基于MATLAB图像分割算法仿真——阈值分割法、Otsu阈值分割法、K均值聚类分割法等

    FPGA教程目录 MATLAB教程目录 目录 1 软件版本 2 通过二值图实现图像分割 3 通过Otsu阈值分割实现图像分割
  • ES6的理解

    1 ES6是什么 用来做什么 ES6 全称 ECMAScript 6 0 是 JavaScript 的下一个版本标准 2015 06 发版 它的目标 是使得 JavaScript 语言可以用来编写复杂的大型应用程序 成为企业级开发语言 ES
  • 企业微信开发第三方应用开发视频教程,ToB Dev李月喜全网首发

    csdn程序员学院 企业微信三方应用开发 视频课程 全网企业微信三方应用开发教程首发 https edu csdn net course detail 30582 即将完结欢迎试看购买 下为目录 课程名称 企业微信开发之第三方应用开发篇 课
  • JUC 十. synchronized深入

    目录 一 基础复习 二 根据synchronized修饰不同成员了解synchronized实现原理 同步代码块 小总结 同步方法 小总结 synchronized 与 管程 底层分析 三 锁升级相关 复习一下对象头 无锁演示 偏向锁 演示
  • Spark、Strom、Flink和Beam的技术选型

    Spark streaming Storm Flink和Beam都是开源的分布式系统 具有低延迟 可扩展和容错性诸多优点 允许你在运行数据流代码时 将任务分配到一系列具有容错能力的计算机上并行运行 都提供了简单的API来简化底层实现的复杂程
  • c#中日志NLog配置问题

    Failed obtaining configuration for Common Logging from configuration section common logging 在配置中没有配置对 另外很有可能是NLog 的配置文件没
  • MM32F3273G8P火龙果开发板MindSDK开发教程15 - 获取msa311加速器的方向改变事件

    MM32F3273G8P火龙果开发板MindSDK开发教程15 获取msa311加速器的方向改变事件 1 功能描述 类似手机里横屏竖屏检测 当方向发生变化时 横屏竖屏自动切换 当msa311方向改变时 会产生中断 然后从寄存器Reg 0x0
  • 性能测试 —— Tomcat监控与调优:Jconsole监控

    JConsole的图形用户界面是一个符合Java管理扩展 JMX 规范的监测工具 JConsole使用Java虚拟机 Java VM 提供在Java平台上运行的应用程序的性能和资源消耗的信息 在Java平台 标准版 Java SE平台 6
  • 【转载】wireshark抓包教程详解

    Wireshark软件安装 软件下载路径 wireshark官网 按照系统版本选择下载 下载完成后 按照软件提示一路Next安装 说明 如果你是Win10系统 安装完成后 选择抓包但是不显示网卡 下载win10pcap兼容性安装包 下载路径
  • 存储的一些基本概念(HBA,LUN)

    time 2008 11 12auther skate 最近存储要升级 对存储的认识也更进一步了 下面是关于存储的一些相关的概念 存储的一些基本概念 HBA LUN 有些新手总是在各式各样的概念里绕来绕去 弄的不亦乐乎 所以我就把我的一些理
  • jmeter断言

    1 设置断言 右击线程组 断言 响应断言 2 设置响应断言 测试的模式输入的内容来自 察看结果树中的响应结果 3 察看结果树执行结果 4 断言结果
  • 《深入浅出OCR》前言知识(一):机器学习最新全面总结

    专栏介绍 经过几个月的精心筹备 本作者推出全新系列 深入浅出OCR 专栏 对标最全OCR教程 具体章节如导图所示 将分别从OCR技术发展 方向 概念 算法 论文 数据集等各种角度展开详细介绍 面向对象 本篇前言知识主要介绍机器学习 方便小白
  • Windows10 - 在当前文件夹下打开cmd(命令行)的方法

    1 清除文件路径输入cmd 2 按住shift 再点击鼠标右键 在某个版本前 这里右键还是打开命令行 后来换成了打开ps 有改注册表的方法 将其改回打开cmd
  • vue3 使用vant框架的van-list 上拉加载用法

  • STM32PWM知识详解

    目录 一 PWM简介 1 定义 2 主要参数 二 PWM产生方式 1 普通IO口与PWM口 2 普通IO口产生PWM 3 PWM口产生PWM 总结 参考链接归纳 一 PWM简介 1 定义 脉冲宽度调制 PWM 是一种数字信号 最常用于控制电
  • 【C++入门】虚继承的实现原理

    转载自 http blog csdn net xiejingfa article details 48028491 准备工作 1 VS2012使用命令行选项查看对象的内存布局 微软的Visual Studio提供给用户显示C 对象在内存中的
  • 计算两个数的平方和

    3 计算两个数的平方和 从键盘读入两个实数 编程计算并输出它们的平方和 要求使用数学函数pow x y 计算平方值 输出结果保留2位小数 程序中所有浮点数的数据类型均为float include
  • html右侧增加页面导航快捷键效果图及代码

    如果一个页面非常长时 在页面右侧增加导航快捷键还是比较有必要的 见效果图 局部放大后的效果 具体实现代码如下 html相关代码 div class gototop none div a href img src static imgs to
  • exit()函数

    进程的终止方式 有8种方式使进程终止 其中前5种为正常终止 它们是 1 从 main 返回 2 调用 exit 3 调用 exit 或 Exit 4 最后一个线程从其启动例程返回 5 最后一个线程调用pthread exit 异常终止有3种