exit和_exit
exit和_exit函数都是用来终止进程的,当执行exit()和_exit()时,进程会无条件的停止剩下的所有操作,清除各种数据结构,并终止本进程的运行。但是,这两个函数还是有区别的。
_exit()函数的作用是,直接使进程停止运行,清除其使用的内存,并清除其内核中的各种数据结构;exit()函数则在这些基础上做了一些包装,在执行退出之前加了若干道工序。exit和_exit函数最大的区别是exit()在终止当前进程之前要检查该进程打开过哪些文件,把文件缓冲区中的内容写回文件,就是清除IO缓冲。
由于在Linux的标准函数库中,有一种被称作"缓冲IO"操作,其特征就是对应每一个打开的文件,在内存中都有一片缓冲区。
每次读文件时,会连续读出若干条记录,这样在下次读文件时就可以直接从内存的缓存区中读取,同样,每次写文件的时候,也仅仅是写入内存中的缓冲区,等满足了一定的条件(如达到了一定数量或遇到特定字符等),再将缓冲区中的内容一次性写入文件。
这种技术大大的增加了文件读写速度,但也为编程带来了一些麻烦。比如有些数据,认为已经被写入到文件,实际上因为没有满足特定的条件,他们还只是被保存在缓冲区内,这时用_exit()函数直接将进程关闭掉,缓冲区的数据就会丢失。因此,若要保证数据的完整性,最好使用exit()函数或者在之前使用fflush(fd)来刷新IO(Linux中)。
另外exit(1) 相当与return 1;
exit和_exit相关推荐
- Linux环境编程--linux中的perror、exit、_exit、wait 和 waitpid
perror: #include<stdio.h> #include<stdlib.h> 定义函数 void perror(const char *s); pe ...
- exit()与_exit()的区别(转)
http://blog.csdn.net/lwj103862095/article/details/8640037 从图中可以看出,_exit 函数的作用是:直接使进程停止运行,清除其使用的内存空间, ...
- linux中exit()和 _exit()说明
exit和_exit函数都是用来终止进程的.当程序执行到exit或_exit时,系统无条件的停止剩下所有操作,清除包括PCB在内的各种数据结构,并终止本进程的运行.但是,这两个函数是有区别的. ...
- linux中进程退出函数:exit()和_exit()的区别
linux中进程退出函数:exit()和_exit()的区别 (1)_exit()执行后立即返回给内核,而exit()要先执行一些清除操作,然后将控制权交给内核. (2)调用_exit函数时,其会关闭 ...
- exit()和_exit()函数
进程就好比人一样有其生命,我们通过fork()函数来创建一个进程,那么我们又是如何来中止进程呢. 进程退出 1.在Linux中任何让一个进程退出 进程退出表示进程即将结束.在Linux中进程退出分为了 ...
- exit()与_exit()的区别
直接看图更明白: 从图中可以看出,_exit 函数的作用是:直接使进程停止运行,清除其使用的内存空间,并清除其在内核的各种数据结构:exit 函数则在这些基础上做了一些小动作,在执行退出之前还加了若干 ...
- exit()、_Exit() 和 _exit() 函数的区别和联系
一.来源不同 1.头文件 #include <stdlib.h>void exit(int status); void _exit(int status); #incldue <un ...
- exit()与_exit()函数的区别
注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXI ...
- Linux中exit与_exit的区别
在exit,_exit的区别 - exit()与_exit()函数的区别(Linux系统中)2012-03-20 15:19:53 分类: LINUX 注:exit()就是退出,传入的参数是程序退出时 ...
- exit与_exit函fork与vfork函数
#include <stdlib.h> void exit(int status); #include <unistd.h> void _exit(int status); e ...
最新文章
- 成员变量和成员函数分开存储
- 三周第五次课(4月10日)
- Win32 鼠标绘图代码研究
- WebService事务处理
- 不能忽视 php warning
- Goodfellow说,聊失败才不是在秀优越...
- 15款优雅的 WordPress 电子商务网站主题
- caffe中 softmax 函数的前向传播和反向传播
- Reverse Linked List 反转链表
- java完全自学手册txt下载
- sqk,按分钟统计平均值
- 笔顺演示动画gif_如何将动画GIF插入PowerPoint演示文稿
- 2021年高压电工考试及高压电工考试题
- 设计模式七大原则之合成/聚合复用原则(CARP)
- VScode 完整安装、配置及完全卸载
- Python实战:淘宝自动抢购
- Wav音频文件剪切指定片段(限PCM格式)
- 安装RHEL7.5超详细教程
- 一年白干!程序员赵某仿制老东家APP,获取服务器数据,被判4年6个月
- 跟谁学计算机老师,跟谁学