函数exit与_exit的区别
?
?
/*****************************************文件名:exit_differ.c*描述:比较函数exit(int status)与函数_exit(int status)的区别* #include <stdlib.h>* void exit(int status)* void _exit(int status)* 区别:exit函数在调用之前要检查文件的打开情况,* 把文件缓冲区的内容写会文件;而_exit直接使进程* 停止运行,清除其使用的内存空间,并销毁起在内核* 中的各种数据结构 ********************************************/#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#define OK 0int main( void ){ pid_t pid; pid = fork(); if ( -1 == pid ) { printf("failed to create a new process!\n"); exit(0); }else if ( 0 == pid ) { printf("child process,output begin!\n"); printf("child process,content in buffer!"); exit(0); }else { printf("\nparent process,output begin\n"); printf("parent process, content in buffer"); _exit(0); } return OK;}
?
child process,output begin!child process,content in buffer!parent process,output begin?
?
?
?