[問題] 創建 fifo 來達成兩個 process 溝通
想請教一下 linux 下的 mkfifo
以下為部分代碼
write.c:
char w_buf[] = "hello123";
if(write(fd, w_buf, sizeof(w_buf)) == -1) {
printf("write error\n");
}
close(fd);
read.c:
while(1) {
if(read(fd, r_buf, 9) == -1) {
printf("no data");
}
printf("read1 string is %s\n", r_buf);
}
讀和寫都預設是阻塞的。
./read &
./write
read一直無窮迴圈,已經從 fifo 把資料讀走了,應該下一個 loop 會阻塞才對?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.215.61
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1533978741.A.2C4.html
※ 編輯: gn00618777 (219.68.215.61), 08/11/2018 17:29:12
推
08/11 17:50,
5年前
, 1F
08/11 17:50, 1F
→
08/11 18:27,
5年前
, 2F
08/11 18:27, 2F
→
08/11 18:29,
5年前
, 3F
08/11 18:29, 3F
→
08/11 18:33,
5年前
, 4F
08/11 18:33, 4F
推
08/11 20:18,
5年前
, 5F
08/11 20:18, 5F