`
liukexiong
  • 浏览: 84248 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

exit与_exit的区别

阅读更多
当我们要退出一个进程的时候,我们可以使用exit()和_exit(),那么它们之间到底有什么区别呢?
1.exit()是C标准库函数,而_exit()是linux系统调用
2.调用exit()之后,进程退出,申请的空间被释放,同时释放内核中的各种数据结构(PCB),并检查文件的打开情况,将内存缓冲区中的数据写入到文件中;而调用_exit()之后,文件缓冲区中的数据不会写入到文件中,造成数据的丢失
下面我们来看两个例子:

(1)使用_exit()
#include<stdio.h>
#include<stdlib.h>

int main()
{
     char *str;
     FILE *f;
     str="i love you forever!";
     f=fopen("./aaa.txt","w+");
     if(f==NULL)
     {
         printf("open error!\n");
         exit(1);
     }
     fwrite(str,5,1,f);
     _exit(1);
     return 0;
}

运行程序之后,打开文件aaa.txt,可以发现aaa.txt中没有写入的内容,原因是使用_exit()退出进程的时候并没有将缓冲区中的数据写入到文件中

(2)使用exit()
#include<stdio.h>
#include<stdlib.h>

int main()
{
     char *str;
     FILE *f;
     str="i love you forever!";
     f=fopen("./aaa.txt","w+");
     if(f==NULL)
     {
         printf("open error!\n");
         exit(1);
     }
     fwrite(str,5,1,f);
     exit(1);
     return 0;
}

运行程序之后,打开文件aaa.txt,可以发现aaa.txt中写入了内容,原因是使用exit()退出进程的时候将缓冲区中的数据写入到文件中

 

 

分享到:
评论
1 楼 tg008007x3 2010-12-27  

相关推荐

    MSCI+ESG评级数据集.xlsx

    详细介绍及样例数据:https://blog.csdn.net/samLi0620/article/details/139665927

    grpcio-1.6.3-cp35-cp35m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    大学生静态网页设计期末作业95分以上项目源码(下载即用)

    大学生静态网页设计期末作业95分以上项目源码(下载即用)个人开发的97分高分设计项目,内含详细文档说明,可作为高分课程设计和期末大作业的参考,含有代码注释小白也可看的懂,有能力的小伙伴也可以在此基础上进行二开,项目代码完整下载即可运行。 大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业95分以上项目源码(下载即用)大学生静态网页设计期末作业。

    webp2jpg网页在线图片格式转换源码.zip

    webp2jpg-免费在线图片格式转化器, 可将jpeg、jpg、png、gif、 webp、svg、ico、bmp文件转化为jpeg、png、webp、webp动画、gif文件。 无需上传文件,本地即可完成转换! 源码特点: 无需上传,使用浏览器自身进行转换批量转换输出webp、jpeg、png、 base64、8位png(实验)、gif动图(实验)、webp动图(实验)输出指定大小 (webp、jpeg)(实验)输出颜色数量(gif、png-8)选项可自定增加或删除并持久化

    大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发

    大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流程和注意事项+编程知识+技术开发; 大创(大学生创新创业训练计划)的申报流

    Python &amp; JAVA Solutions for Leetcode.zip

    Python &amp; JAVA Solutions for Leetcode

    Werkzeug-0.12.1.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Prompt Tuning.pdf

    Prompt Tuning.pdf

    山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。.zip

    山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。

    如何通过python实现桌面宠物(让码农码代码更加心情顺畅)

    如何通过python实现桌面宠物(让码农码代码更加心情顺畅)

    widgetsnbextension-4.0.0a0.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术

    Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+数据库技术; Navicat 技术指南:下载、部署与配置+编程知识+技术开发+

    grpcio-1.3.0-cp34-cp34m-win32.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Delphi 12 控件之ReportBuilder v22.04 for D10.2-D12.7z

    ReportBuilder v22.04 for D10.2-D12.7z

    贪吃蛇的c语言实现.zip

    贪吃蛇的c语言实现

    基于C语言的markdown解析器,提供语法高亮、脚注、pdf转换、目录、英语文本块翻译等功能.zip

    基于C语言的markdown解析器,提供语法高亮、脚注、pdf转换、目录、英语文本块翻译等功能

    基于机器学习的入侵检测系统+源代码+文档说明(下载即用)

    基于机器学习的入侵检测系统+源代码+文档说明(下载即用)本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于机器学习的入侵检测系统+源代码+文档说明(下载即用)本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于机器学习的入侵检测系统+源代码+文档说明(下载即用)本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于机器学习的入侵检测系统+源代码+文档说明(下载即用)本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于机器学习的入侵检测系统+源代码+文档说明(下载即用)本资源中的源码。

    aiohttp-3.8.0b0-cp37-cp37m-musllinux_1_1_aarch64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    pyzmq-25.1.1b1.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    利用C语言实现一些现有的机制,从代码层面了解这些机制的运行原理.zip

    利用C语言实现一些现有的机制,从代码层面了解这些机制的运行原理

Global site tag (gtag.js) - Google Analytics