int main(){
mkfifo("view",0666);
int pid = fork();
if(pid==0){
close(1);
int fd = open("view",O_WRONLY);
dup(fd);
execlp("cat", "cat", "users", NULL);
close(fd);
}
else{
wait(NULL);
int fd = open("view",O_RDONLY);
char resp[100];
read(fd,resp,20);
printf("%s\n",resp);
close(fd);
}
}
У меня есть этот кусок кода, но по какой-то причине, когда я его выполняю, procces зависает без печати и без выхода (я должен нажать CTRL + C). Любая идея почему? Я пробовал то же самое, но используя внутреннюю трубу, и это сработало.Комбинируйте вилку, fifo и execlp?