1.有名管道:又稱為fifo檔案。
2.man命令:1.系統命令,2.系統呼叫,3庫函式
3.函式學習
5.2建立有名管道
5.2.1函式名
mkfifo
5.2.2 函式原形
int mkfifo(const char *pathname, mode_t mode);
5.2.3 函式功能
建立乙個fifo檔案(有名管道)
5.2.4 所屬標頭檔案
5.2.5 返回值
成功:0
失敗:-1
5.2.6 引數說明
pathname:要建立的fifo檔案的名字(含路徑)
mode:訪問許可權,數字形式表示就可以(0666)
5.3刪除有名管道5.3.1函式名
unlink5.3.2 函式原形
int unlink(const char *pathname);5.3.3 函式功能
刪除檔案5.3.4 所屬標頭檔案
5.3.5 返回值
成功:0失敗:-1
5.3.6 引數說明pathname:用來指明要刪除的檔名(含路徑)
4.fifo檔案和普通檔案的區別
(1)寫入的時候是只能只寫開啟(2)讀取的時候是唯讀開啟
(3)讀取以後內容不再存在
其他的操作就用普通檔案的操作。5.綜合例項
(1)寫檔案程序---》建立fifo
---》開啟並寫入---》關閉
(2)讀檔案程序---》讀取檔案
---》列印---》關閉
---》刪除有名管道
6.如果沒有讀程序訪問fifo,則寫程序會被阻塞,直到有程序訪問該fifo,才會結束寫程序。
程序通訊 有名管道
無名管道只能由父子程序使用 但是通過命名管道,不相關的程序也能交換資料。建立管道mkfifo 開啟管道open 讀管道read 寫管道write 關閉管道close 刪除管道unlink 函式作用 建立有名管道 函式原型 int mkfifo const char pathname,mode t m...
程序間通訊 有名管道
無名管道,由於沒有名字,只能用於親緣關係的程序間通訊.為了克服這個缺點,提出了有名管道 fifo fifo不同於無名管道之處在於它提供了乙個路徑名與之關聯,以fifo的檔案形式存在於檔案系統中,這樣,即使與fifo的建立程序不存在親緣關係的程序,只要可以訪問該路徑,就能夠彼此通過fifo相互通訊,因...
程序間通訊 有名管道
mkfifo test 這條命令建立了乙個名字為 test 的命名管道。接下來我們用乙個程序向這個管道裡面寫資料,然後有另外乙個程序把裡面的資料讀出來。echo this is a pipe test 寫資料 這個時候管道的內容沒有被讀出的話,那麼這個命令就會一直停在這裡,只有當另外乙個程序把 te...