5.1建立無名管道
5.1.1 函數名
pipe
5.1.2 函數原形
int pipe(int pipefd[2])
5.1.3 函數功能
建立單向資料從傳輸的管道,用于程序間的通信
5.1.4 所屬頭檔案
<unistd.h>
5.1.5 傳回值
成功:傳回0 失敗:傳回:-1
5.1.6參數說明
pipefd[0]:指向讀端,存儲讀端檔案描述符fd
pipefd[1]:指向寫端,存儲寫端檔案描述符fd
5.1.7 注意
為了使父子程序通信,必須将pipe在程序建立fork之前建立,否則,父程序和子程序都各自建立一個管道pipe,互相獨立,是以達不到通信的目的
5.1.8 demo
5.2建立有名管道
5.2.1 函數名
mkfifo
5.2.2 函數原形
int mkfifo(const char *pathname,mode_t mode)
5.2.3 函數功能
建立一個fifo檔案(有名管道)
5.2.4 所屬頭檔案
<sys/types.h> <sys/stat.h>
5.2.5 傳回值
成功:傳回0 失敗:傳回-1
5.2.6 參數說明
pathname:要建立的fifo檔案的名字(帶路徑)、
mode:建立的fifo檔案的通路權限 (見open,例:666)
5.3删除有名管道
5.3.1 函數名
unlink
5.3.2 函數原形
int unlink(const char *pathname)
5.3.3 函數功能
删除檔案
5.3.4 所屬頭檔案
<unistd.h>
5.3.5 傳回值
成功:放回0 失敗:傳回-1
5.3.6 參數說明
pathname:待删除檔案的名字(含路徑)
5.3.7 demo
一旦運作寫程序,那麼該程序處于阻塞的狀态,直到有程序讀取該fifo檔案