1
回答
【Linux c】pipe() dup2()怎么建立父进程和子进程的双向通信?
【腾讯云】学生服务器套餐10元/月 >>>   
pipe(fd);    //父进程--》子进程 的管道
	pipe(fdd);   //子进程--》父进程 的管道
	childpid = fork();
	if(childpid){  //父进程
		close(fd[0]); 
		close(fdd[1]); 
		dup2(fd[1],1); 
		printf("%d\n",childpid);
		dup2(fdd[0],0);
		scanf("%d",&myn);  //①
		close(fd[1]);
		close(fdd[0]);
	}else{    //子进程
		close(fd[1]);
		close(fdd[0]); 
		dup2(fd[0],0); 
		scanf("%d",&myn);   //②
		dup2(fdd[1],1); 
		printf("33\n");
		close(fd[0]); 
		close(fdd[1]);

}

这代码哪里不对呢?①行和②行留一个就没问题了。



举报
qianl_eni
发帖于3年前 1回/655阅
顶部