linux中用管道實現父子程序通訊

2021-09-26 08:37:36 字數 542 閱讀 9511

1 使用者要實現父程序到子程序的資料通道,可以在父程序關閉管道讀出一端,

然後相應的子程序關閉管道的輸入端。

2 先用pipe()建立管道 然後fork函式建立子程序。父程序向子程序發訊息,子程序讀訊息。

3 實現

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

#define bufsz pipe_buf /*pipe_buf管道預設一次性讀寫的資料長度*/

8int main ( void) 9

18if ( (pid = fork()) < 0 )

22else

if ( pid > 0)27

else

34else

35 write(stdout_fileno, buf, len); /*

輸出到標準輸出

*/36 exit(0

);37

}38 }

4 截圖

父子程序通過管道通訊 命名管道

unix程式設計。建立了兩個命名管道,利用這兩個管道實現父子進城的通訊。即父程序可以像子程序傳送訊息,可以讀取子程序的訊息。子程序一樣。下面是全部原始碼。include include include include include include include include include i...

linux管道pipe父子程序通訊的示例

父程序開啟的檔案描述符在子程序仍然保持開啟,檔案描述符的引用計數 1,不僅如此,父程序使用者根目錄 當前目錄等變數的引用計數也會 1.即使呼叫exec函式,檔案描述符也不會關閉,除非設定了sock cloexec屬性。include include include include int main ...

Linux父子程序間通訊方式之管道

一段父子程序之間通過管道通訊的 示,本例中父程序負責寫,子程序負責讀,因此子程序關閉寫端,父程序關閉讀端,如下 中注釋。示例 執行環境為linux系統,eclipse程式設計環境下 include include include include intmain void pid fork if pi...