Linux 有名管道

2021-07-25 03:05:38 字數 794 閱讀 6653

#include "apue.h"

//在當前目錄建立乙個管道檔案

main()

printf("success to mkfifo ret=%d \n",ret);

return 0;

}

#include "apue.h"

main()

printf("success to open file fd=%d \n",fd);

//向有名管道中寫資料

write(fd,writebuf,sizeof(writebuf));

printf("success to write data into fifo \n");

close(fd);

}

#include "apue.h"

main();

//開啟有名管道 獲取檔案描述符 如果寫端不存在會在此阻塞

fd = open("./myfifo",o_rdonly);

if(fd<0)

printf("success to open file fd=%d \n",fd);

//向有名管道中讀資料

read(fd,readbuf,sizeof(readbuf));

printf("data of reading is buf =%s \n",readbuf);

close(fd);

}

Linux有名管道程式設計

有名管道可以用於任何兩個程式間通訊,因為有名字可引用。注意管道都是單向的,因此雙方通訊需要兩個管道。下面分別是這兩個程式 同樣是lucy先執行,然後是peter。fifolucy.c include include include include include include include in...

linux 有名管道(FIFO)

管道的緩衝區是有限的 管道制存在於記憶體中,在管道建立時,為緩衝區分配乙個頁面大小 管道所傳送的是無格式位元組流,這就要求管道的讀出方和寫入方必須事先約定好資料的格式,比如多少位元組算作乙個訊息 或命令 或記錄 等等 多個寫程序,乙個讀程序。可以參考我之前的部落格 一旦設定了阻塞標誌,呼叫mkfif...

管道及有名管道

管道和有名管道是最早的程序間通訊機制之一,管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。認清管道和有名管道的讀寫規則是在程式中應用它們的關鍵,本文在詳細討論了管道和有名管道的通訊機制的基礎上,用例項對其讀寫規則進...