在2.4.4版内核中,exit是第1号调用,其在Linux函数库中的原型是:
#include<stdlib.h>
void exit(int status);
而_exit在Linux函数库中的原型是:
#include<unistd.h>
void _exit(int status);
并且有 #define __NR__exit __NR_exit /* 摘自文件include/asm-i386/unistd.h第334行
*/
两者极为相似,但exit()函数定义在stdlib.h中,而_exit()定义在unistd.h中,两者的执行流程也不一样_exit()函数的
作用:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;exit()函数则在这些基础上作了一些包装,在执行退出之前加了
若干道工序,在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。
而_exit( )只是退出 不输出缓存区的内容,那么加'\n'则表明已经满足特定的条件"(达到一定数量,或遇到特定字符,如换行符\n和文件结
束符EOF),再将缓冲区中的内容一次性写入文件,"/*牛涛*/