fifo 有時被稱為命名管道。未命名的管道只能在兩個相關的程序之間使用,而且這兩個相關的程序還要有乙個共同建立了它們的祖先程序。
#include
int mkfifo(const char*path, mode_t mode);
int mkfifoat(int fd, const char *path, mode_t mode);
兩個函式的返回值:若成功,返回0;若出錯,返回-1
用mkfifo或者mkfifoat建立fifo時,要用open開啟它。
若write乙個尚未被開啟讀的fifo,則產生sigpipe訊號。若某個fifo的最後乙個寫程序關閉了該fifo,則將為該fifo的讀程序產生乙個檔案結束標誌。
常量pipe_buf說明了可被原子的寫到fifo的最大資料量。
fifo有以下兩種用途:
(1)shell命令使用fifo將資料從一條管道傳送到另一條時,無需建立中間臨時檔案。
(2)客戶程序-伺服器程序應用程式中,fifo用作匯聚點,在客戶程序和伺服器程序二者之間傳遞資料。
程序程式設計1 Unix環境高階程式設計7章讀書筆記
process environment 程序的終止有些下面的方法 1.從main 函式return 2.呼叫 exit exit 屬於iso c 標準中定義的函式,會執行清理工作。包括關閉 io庫中所有開啟的檔案流 這會導致所有的檔案 buffer 都被flush 還會呼叫阿 texit 所註冊的退...
程序程式設計1 Unix環境高階程式設計7章讀書筆記
process environment 程序的終止有些下面的方法 1.從main 函式return 2.呼叫exit exit 屬於iso c 標準中定義的函式,會執行清理工作。包括關閉 io庫中所有開啟的檔案流 這會導致所有的檔案 buffer 都被flush 還會呼叫阿 texit 所註冊的退出...
程序程式設計1 Unix環境高階程式設計7章讀書筆記
process environment 程序的終止有些下面的方法 1.從main 函式return 2.呼叫exit exit 屬於iso c 標準中定義的函式,會執行清理工作。包括關閉 io庫中所有開啟的檔案流 這會導致所有的檔案 buffer 都被flush 還會呼叫阿 texit 所註冊的退出...