十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
/*体现exit和_exit的区别*/ #include#include #include #include #include int main(void) { pid_t pid; if ( (pid = fork() )==-1 ) //如果创建子进程失败 { perror ("创建子进程失败\n"); //创建子进程出错信息 exit(0); } else if(pid==0) //子进程 { printf("01:这是子进程\n"); printf("02:这是子进程,目前数据在缓冲区中"); //这个地方没有换行符,所以不写出数据 exit(0); //退出,强制清空,会输出上面未完成数据 } else //父进程 { sleep(1); //休眠一秒以确定先后顺序 printf("03:这是父进程,开始输出\n"); printf("04:这是夫进程,目前数据在缓冲区中"); //同样没有换行符 _exit(0); //_exit函数会直接丢弃相应的数据 } return 0; }