/*体现exit和_exit的区别*/
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
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;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。