/**************************************** *文件名: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 0 int 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