读书人

用管道在父子进程间传递数据有关问题

发布时间: 2013-07-16 22:38:04 作者: rapoo

求助:用管道在父子进程间传递数据问题
代码如下:
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>

int main(void)
{
intn, fd[2];
pid_tpid;
charline[1024];

if (pipe(fd) < 0)
exit(0);
if ( (pid = fork()) < 0)
exit(0);
if (pid > 0) {/* parent */
close(fd[0]);
write(fd[1], "I am from parent!\n", 19);
}
else {/* child */
close(fd[1]);
n = read(fd[0], line, 1024);
write(STDOUT_FILENO, line, n);
}
exit(0);
}
请问:为什么在单步调试时,在执行到最后else{}的语句之前就输出I am from parent!,新手请多多指教。 C??
[解决办法]
因为你调试时针对的是父进程,,子进程已经执行完退出了。

读书人网 >UNIXLINUX

热点推荐