函数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 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
 

猜你喜欢

转载自yesmeshtu2008-163-com.iteye.com/blog/1165141
今日推荐