exit()和_exit()函数最终都会退出程序,但是在退出程序之前两者的动作有所不同
exit()会检查文件缓冲区,并将缓冲区内容写入相应的文件中。而_exit()实际上不会检查缓冲区,直接执行退出操作。
如
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main(void)
{
int i=0;
for(i=0;i<4;i++)
{
printf("hehe");
sleep(1);
}
exit(0);
//exit()会检查缓冲区
}
结果如下
使用_exit()
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main(void)
{
int i=0;
for(i=0;i<4;i++)
{
printf("haha");
sleep(1);
}
_exit(0);
//_exit()不会检查缓冲区
}