2
子どもでは、fifo "sample"に書き込んで親で読み込みます。以下のコードでは、親が端末「sample」を書き込んで待機していますが、読み取り機能から終了しません。名前付きパイプから読み取られたCは終了しません
pid_t p;
int fd;
char str[]="sample";
char ch;
mkfifo("myfifo", FIFO_PERMS);
fd = open("myfifo", O_RDWR);
p=fork();
if(!p){
printf("write %d byte\n", write(fd, str, 6));
}
else{
wait(NULL);
while(read(fd, &ch, 1)>0)
write(STDOUT_FILENO, &ch, 1);
close(fd);
unlink("myfifo");
}