_exit和exit的区别
来源:互联网 发布:手机淘宝删除评价链接 编辑:程序博客网 时间:2024/05/01 18:41
_exit终止调用进程,但不关闭文件,不清除输出缓存,也不调用出口函数。
exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容
将刷新定义,并调用所有已刷新的“出口函数”(由atexit定义)。
‘exit()’与‘_exit()’有不少区别在使用‘fork()’,特别是‘vfork()’时变得很
突出。
‘exit()’与‘_exit()’的基本区别在于前一个调用实施与调用库里用户状态结构
(user-mode constructs)有关的清除工作(clean-up),而且调用用户自定义的清除程序
(译者注:自定义清除程序由atexit函数定义,可定义多次,并以倒序执行),相对
应,后一个函数只为进程实施内核清除工作。
在由‘fork()’创建的子进程分支里,正常情况下使用‘exit()’是不正确的,这是
因为使用它会导致标准输入输出(译者注:stdio: Standard Input Output)的缓冲区被
清空两次,而且临时文件被出乎意料的删除(译者注:临时文件由tmpfile函数创建
在系统临时目录下,文件名由系统随机生成)。在C++程序中情况会更糟,因为静
态目标(static objects)的析构函数(destructors)可以被错误地执行。(还有一些特殊情
况,比如守护程序,它们的*父进程*需要调用‘_exit()’而不是子进程;适用于绝
大多数情况的基本规则是,‘exit()’在每一次进入‘main’函数后只调用一次。)
在由‘vfork()’创建的子进程分支里,‘exit()’的使用将更加危险,因为它将影响
父进程的状态
- _exit和exit的区别
- _exit和exit的区别?
- _exit和exit的区别
- exit和_exit的区别
- _exit和exit的区别
- _exit和exit的区别
- _exit和exit的区别
- exit和_exit的区别
- exit()和_exit()的区别
- _exit和exit的区别
- _exit和exit的区别?
- exit()和_exit()的区别
- exit和_exit的区别
- _exit和exit的区别
- _exit和exit的区别
- _exit 和 exit的区别
- _exit( )和exit( )的区别
- exit 和_exit 的区别
- 50 AJAX Toolkits and Frameworks(收集的ajax框架及工具包)
- 凭证冲销
- 佛家人生八苦
- 离职感言
- BREW触摸屏实现
- _exit和exit的区别
- 15中导致失败的性格
- 利用TreeWalk提高网速及其在vista中的安装方法
- 思考
- 关于图片撑大问题的解放方案
- typedef struct用法详解
- linux下的NFAQ
- “QQ找茬”游戏的识别小软件JAVA源码(netBeams项目)
- 有事没事大家都可以Q我!!