Linux 中_exit和exit的区别

在Linux的标准库函数中,有一套称作高级I/O的函数,我们熟知的printf 、fopen 、fread 、fwrite都在此列,他们也被称作缓冲I/O。其特征是对应每一个打开的文件,都存在一个缓冲区, 在内存中都有一片缓冲区,每次读文件会多读若干条记录,这样下次读文件时就可以直接从内存的缓存中取出,每次写文件时也仅仅是写入到内存的缓冲区,等待满足一定的条件(达到一定的数量,或者遇到特定字符,如换行和文件结束符EOF),再将缓冲区的内容一次性的写入文件,这样就大大增加了文件读写的速度,但也为我们编程带来了一点点麻烦,如果有些数据,我们认为已经写入了文件,实际上因为没有满足特定的条件,他们还只是保存在缓冲区内,这时我们用_exit函数直接将程序关闭,缓冲区中的数据就会丢失,反之,如果向保证数据的完整性,就一定要使用exit函数。
exit()函数与_exit()函数最大的区别就在于exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件,就是图中的"清理I/O缓冲"一项。
exit()函数定义在stdlib.h中,而_exit()定义在unistd.h中。exit()和_exit()都用于正常终止一个函数。但_exit()直接是一个sys_exit系统调用,而exit()则通常是普通函数库中的一个函数。它会先执行一些清除操作,例如调用执行各终止处理函数、关闭所有标准IO等,然后调用sys_exit。
比如:
int main()
{ printf("this is a test function!!!/n")
printf("test exit ");
exit(0);
}
int main()
{ printf("this is a test function!!!/n")
printf("test exit");
_exit(0);
}
这两个程序,程序1输出的是两句话,而程序2只输出了一句话。原因就是因为最后一句话上没有加上特殊的字符,如换行和文件结束符,因为这个时候文件是存放在缓冲区的,这个例子中文件就是存放打开的显示设备的缓冲区中的,因为输出函数要写入,首先要进行系统调用,这个时候系统会打开显示设备的缓冲区,而exit的作用就是结束,清理,就是说先检查缓冲区,把没有写入的数据写入到文件,而_exit是立刻关闭文件,文件缓冲区的内容也就消失了,这个时候就不可能再输出到显示设备了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Linux
# _exit和exit的区别
# _exit和exit的对比
# _exit和exit比较
# 这个时候
# 区中
# 显示设备
# 句话
# 的是
# 换行
# 是一个
# 一个函数
# 有一
# 就会
# 放在
# 也就
# 在此
# 就不
# 这两个
# 希望能
# 带来了
# 但也
# 仅仅是
# 可以直接
相关文章:
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
网站制作企业,网站的banner和导航栏是指什么?
如何通过西部数码建站助手快速创建专业网站?
html制作网站的步骤有哪些,iapp如何添加网页?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何挑选优质建站一级代理提升网站排名?
南宁网站建设制作定制,南宁网站建设可以定制吗?
在线教育网站制作平台,山西立德教育官网?
如何通过多用户协作模板快速搭建高效企业网站?
兔展官网 在线制作,怎样制作微信请帖?
如何快速启动建站代理加盟业务?
PHP 500报错的快速解决方法
linux top下的 minerd 木马清除方法
大学网站设计制作软件有哪些,如何将网站制作成自己app?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站之星导航菜单设置与功能模块配置全攻略
网站制作模板下载什么软件,ppt模板免费下载网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
再谈Python中的字符串与字符编码(推荐)
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
C#如何使用XPathNavigator高效查询XML
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
,怎么用自己头像做动态表情包?
已有域名如何快速搭建专属网站?
建站之星logo尺寸如何设置最合适?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
南京网站制作费用,南京远驱官方网站?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
建站之星伪静态规则如何正确配置?
如何快速搭建高效WAP手机网站吸引移动用户?
如何通过网站建站时间优化SEO与用户体验?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
如何选择香港主机高效搭建外贸独立站?
TestNG的testng.xml配置文件怎么写
浅析上传头像示例及其注意事项
昆明网站制作哪家好,昆明公租房申请网上登录入口?
ppt制作免费网站有哪些,ppt模板免费下载网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
高防服务器租用如何选择配置与防御等级?
如何快速搭建高效WAP手机网站?
装修招标网站设计制作流程,装修招标流程?
c++ stringstream用法详解_c++字符串与数字转换利器
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
黑客入侵网站服务器的常见手法有哪些?
内网网站制作软件,内网的网站如何发布到外网?
中山网站推广排名,中山信息港登录入口?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
*请认真填写需求信息,我们会在24小时内与您取得联系。