有名管道fifo管道在檔案系統中是可見的
建立函式
#include
#include
int mkfifo(const char * filename,mode_t mode);
mode 用來指定建立的管道的讀寫執行許可權,一般設定為mode_t mode = 0666;
利用命令列中乙個引數來建立乙個有名管道
#include
#include
#include
#include
#include
int main(int argc, char * argv)
mode_t mode=0666;
if(argc!==2)
printf("please input the file name\n");
exit(1);
}if(mkfifo(argv[1],mode)<0)
printf("create false\n");
exit(1);
}else
printf("ok");
}return 0;
}
mkfifo函式建立有名管道
pipe建立的管道只能在具有共同祖先的程序間通訊,而mkfifo能在不相關的程序間交換資料。通俗舉例來說,乙個在乙個c檔案中通訊,乙個可在多個c檔案中通訊。命名管道開啟的規則 為讀開啟fifo o nonblock disable 阻塞直到有相應程序為寫而開啟fifo o nonblock enab...
管道及有名管道
管道和有名管道是最早的程序間通訊機制之一,管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。認清管道和有名管道的讀寫規則是在程式中應用它們的關鍵,本文在詳細討論了管道和有名管道的通訊機制的基礎上,用例項對其讀寫規則進...
有名管道管道程式設計
linux程序和程序之間有多種通訊方式。linux程序間通訊的主要方式有 1 無名管道 2 有名管道 3 訊號 4 訊息佇列 5 共享記憶體 6 訊號量 7 套接字 管道操作是比較簡單的通訊方式,乙個程序往管道中寫入資料,另乙個程序從管道中讀出資料。管道包括無名管道和有名管道。前者只能用於父程序和子...