부모 프로세스와 1 명의 자녀가 프로세스 통신을하고 있습니다. 내가하고 싶은 것은 자식이 부모에게 보낸 모든 메시지가 그것을 읽는다는 것입니다. (일종의 차단 보내기, 부모는 자식이 다른 메시지를 계속 보내기 전에 먼저 메시지를 읽어야합니다). 나는 파이프를 사용할 수 없다. 나는 Silberschatz 책에 대한 글을 읽었지만, 좋은 예를 발견하지 못했다. 어떤 도움이 좋을 것입니다!부모와 자녀 사이의 IPC.
int main(int argc, char** argv) {
printf("This process: ");
printf("%d\n",getpid());
printf("Parent: ");
printf("%d\n",getppid());
pid_t f;
int input;
f = fork();
if (f == 0) {
for(int i=0;i<5;i++){
printf("Input a number: ");
scanf("%d",&input);
send(getppid(),input);
}
printf("\n");
exit(0);
} else {
recv(f,input);
printf("%d",input);
}
wait();
exit(0);
}
이것은 무엇입니까? 그것은 무엇을합니까? 그것은 (당신이 그것을 기대했던) 무엇을하지 않습니까? – KevinDTimm
나는 child-> parents에 숫자를 입력하고 child-> parent 읽기에 다시 input을 입력한다. 방금 5 개의 숫자로 된 간단한 케이스를 만들었습니다. – BlackFolgore
'send'는 문제의 해결책이 아니며, 소켓 파일 편집기 인 것처럼 pid에서 호출 할 수는 없습니다. – PSkocik