FIFO(UNIX環境高階程式設計筆記)

2021-09-19 20:21:58 字數 528 閱讀 7075

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 所註冊的退出...