《重視基礎之無名管道》

2021-08-09 06:31:54 字數 867 閱讀 4096

幹事情呢,首先打起大的框架,然後從大到小,慢慢的把細節實現。

首先明白無名管道是一種特殊的檔案,所以許多對檔案操作的函式都可以用(read write)

然後這個檔案呢特點就是單雙工的,它是父系社會只能爸爸和孩子用

int pipe(int file[2])  file[0]是讀   file[1]是寫  

pid_t fork(void) 返回值是0是子程序,大於0的是父程序,小於零是出錯的

man了一下,有用法,要去忙專案了

程式設計順序:

(1)建立管道

(2)建立子程序

(3)進行讀寫操作

#include #include #include #include #include int main(int argc, char *argv)

if(pipe(pipefd) == -1)

cpid = fork();

if(cpid == -1)

if(cpid == 0) else { /* parent writes argv[1] to pipe */

close(pipefd[0]); /* close unused read end */

write(pipefd[1], argv[1], strlen(argv[1]));

close(pipefd[1]); /* reader will see eof */

wait(null); /* wait for child */

exit(exit_success);

QProcess 程序通訊之無名管道

程序間通訊 ipc 方式包括 管道,fifo,訊號。這裡只提下無名管道,用於有親緣關係的程序之間。有名管道可以用在沒有親緣關係的程序之間。qprocess,底層使用的就是無名管道。做了乙個小demo,畢設有一塊要用到。由於底層封裝了win linux mac不同平台的無名管道實現,避免了無謂的跨平台...

Linux程序間通訊之無名管道

在學習了linux程序間通訊之後,打算對所學的知識進行乙個系統的整理,形成乙個自己的系列,方便以後的複習與再次學習。第一次寫部落格,才疏學淺,有錯誤的地方請大佬們指正!管道的實現原理 管道檔案是乙個特殊的檔案,是由佇列實現的 如何建立管道?使用pipe 函式建立管道 pipe 函式 標頭檔案unis...

Linux下程序通訊之 無名管道

程序通訊 程序與程序間的資料交換,稱為程序通訊。程序通訊的方式有 共享記憶體 訊號量 管道 訊息佇列 socket等等。管道 是一種基於檔案描述符的通訊方式,可以呼叫read write和close等操作檔案的介面來操作。它是基於檔案描述符的通訊方式,它是半雙工模式。分為有名管道和無名管道。無名管道...