1
프로그래밍을 배우려고하는데 왜 자식 2가 인사를 할 수 없는지 이해할 수 없습니다. 또한 부모가 의사 소통하기를 원하지 않기 때문에 부모를위한 파이프의 읽기 및 쓰기 끝을 모두 닫았습니다. 어떤 도움이라도 대단히 감사합니다.2 개의 자식 프로세스가 메시지를 표시하지 않습니다.
int main()
{
int fd[2];
pid_t child_pid, child_pid1;
if (pipe(fd) < 0)
{
printf("Pipe error");
}
child_pid = fork(); // child 1
if (child_pid != 0)
{
printf("im child 1");
dup2 (fd[1], STDIN_FILENO);
printf("greetings");
child_pid1 = fork(); //child 2
if (child_pid1 != 0)
{
printf("im child 2");
dup2(fd[0], STDOUT_FILENO);
printf("hello");
}
else if (child_pid1 > 0) //Parent Code
{
close (fd[0]);
close (fd[1]);
}
}
return 0;
}
시도했지만 작동하지 않습니다 – user3159107
또한 'dup2' 호출을 제거해야합니다. – Devolus