求助:用管道在父子进程间传递数据问题
代码如下:
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
int main(void)
{
int n, fd[2];
pid_t pid;
char line[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!,新手请多多指教。
------解决方案--------------------因为你调试时针对的是父进程,,子进程已经执行完退出了。