#include
#include
int
mkfifo
(const
char
*pathname, mode_t mode)
;
成功返回0,失敗返回-1並設定errno
pathname 命名管道路徑
建立許可權是(mode & ~umask)的有名管道檔案
解決沒有血緣關係之間的程序的通訊
mkfifo
[管道名稱]
prw-rw-r-- 1 toucheddog toucheddog 0 nov 7 15:27 mfifo
該檔案的型別時p,可以在檔案目錄中看到,大小始終是0
int fd1,fd2;
char buf[
1024];
fd1 =
open
("管道名稱"
,o_wronly)
;//讀管道
fd2 =
open
("管道名稱"
,o_rdonly)
;//寫管道
write
(fd1,
"內容"
,strlen
("內容"))
;read
(fd2,buf,
1024);
//一次性讀取1kb資料
linux 有名管道(FIFO)
管道的緩衝區是有限的 管道制存在於記憶體中,在管道建立時,為緩衝區分配乙個頁面大小 管道所傳送的是無格式位元組流,這就要求管道的讀出方和寫入方必須事先約定好資料的格式,比如多少位元組算作乙個訊息 或命令 或記錄 等等 多個寫程序,乙個讀程序。可以參考我之前的部落格 一旦設定了阻塞標誌,呼叫mkfif...
FIFO 有名管道
有名管道相關的關鍵概念 管道應用的乙個重大限制是它沒有名字,因此,只能用於具有親緣關係的程序間通訊,在有名管道 named pipe或fifo 提出後,該限制得到了克服。fifo不同於管道之處在於它提供乙個路徑名與之關聯,以fifo的檔案形式存在於檔案系統中。這樣,即 使與fifo的建立程序不存在親...
linux系統中的有名管道(FIFO)
無名管道應用的乙個重大限制是它沒有名字,因此,只能用於具有親緣關係的程序間通訊,在有名管道 named pipe或fifo 提出後,該限制得到了克服。fifo不同於管道之處在於它提供乙個路徑名與之關聯,以fifo的檔案形式存在於檔案系統中。這樣,即使與fifo的建立程序不存在親緣關係的程序,只要可以...