首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
系统相关
> 详细
进程环境详解(二)---进程终止和 atexit 函数详解
时间:
2016-10-01 14:53:14
阅读:
215
评论:
0
收藏:
0
[点我收藏+]
标签:
进程终止可以分为 进程正常终止 和 进程异常终止 。
进程正常终止有以下几种情况:
在 main 函数返回
调用 exit 函数
调用 _exit 或者 _Exit 函数
最后一个线程从启动代码中返回
最后一个线程调用 pthread_exit
进程异常终止有以下几种情况:
调用 abort函数
进程收到信号终止
最后一个线程对取消请求作出响应
========================================================
exit 函数 和 _exit / _Exit 函数的区别就是:
调用 exit 函数后并不会马上进入内核态,而是会先进行一些终止处理程序(使用atexit函数注册的函数),还会强制刷新所有的用户缓冲区等等。而_exit 和 _Exit 函数则是会立马进入到内核态中去执行内核处理,对用户缓冲区不予处理。在 exit 函数中也是封装了 _exit 或者 _Exit 函数。
在 main 函数中使用 return 关键字和 调用 exit 函数是一模一样的。
========================================================
atexit 函数的作用是用来注册函数,被注册的函数将会在调用 exit 函数或者在 main 函数中使用return关键字的时候会被执行。执行的顺序和调用的顺序是相反的。
函数原型:
函数参数:
function:函数指针
返回值:
调用成功时返回 0
调用失败时返回 非 0
进程环境详解(二)---进程终止和 atexit 函数详解
标签:
原文地址:http://www.cnblogs.com/frank-yxs/p/5925769.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
gitlab 在linux安装环境下存储地址
2021-07-29
当 Mac 未检测到外部显示器时如何修复它
2021-07-29
Ubuntu18.04安装qemu遇到问题-qemu : Depends: qemu-system (>= 1:2.11+dfsg-1ubuntu7)
2021-07-28
[Linux]Shell编程【待续】
2021-07-28
Linux系统资源查看
2021-07-27
Archlinux爬坑指南
2021-07-27
[Linux]Linux发展历程
2021-07-27
非桌面系统 (ubuntu)安装google-chrome
2021-07-27
在Ubuntu18.04系统中源码安装 gcc7.3.0
2021-07-23
Linux快捷键杂记
2021-07-22
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!