程序通訊pipe, 輸入輸出,程序間互相讀寫

2021-06-08 15:27:41 字數 1202 閱讀 8007

#include #include #include #include #include #define maxline	80

void *parent_read_proc(void *p)

; int len = 0;

int n = 0;

while(1)

return 0;

}void *child_read_proc(void *p)

; int len = 0;

int n = 0;

while(1)

return 0;

}void *parent_write_proc(void *p)

; int len = 0;

int n = 0;

char msg = "this is parent";

while (n < 10)

n++;

sleep(2);

} return 0;

}void *child_write_proc(void *p)

; int len = 0;

int n = 0;

char msg = "this is child";

while (n < 10)

n++;

sleep(2); }

}int main(void)

if (pipe(fd_wr) < 0)

pid = fork();

if (pid < 0)

else if (pid == 0)

err = pthread_create(&c_w_pid,null,child_write_proc,(void*)fd_wr[1]);

if (err != 0)

pthread_join(c_r_pid);

pthread_join(c_w_pid);

} else

err = pthread_create(&p_w_pid, null, parent_write_proc,(void*)fd_rw[1]);

if (err != 0)

pthread_join(p_r_pid);

pthread_join(p_w_pid); }

int n = 0;

scanf("%d",&n);

return 0;

}

linux 程序間通訊 pipe

pipe 是有親屬關係的程序之間通訊的經典方法 int pipe int fd 2 建立管道的函式 成功返回0 出錯返回 1 引數fd 2 作為返回檔案描述符的容器 fd 0 為讀開啟 fd 1 為寫開啟 可以fork子程序 繼承檔案描述符實現通訊 可以fork多個子程序進行通訊但是你要有足夠的精力...

程序間通訊(IPC) 管道(Pipe)

管道 乙個程序連線資料流到另乙個程式 pipe函式的原型 include int pipe int file descriptor 2 該閃身在陣列中填上兩個新的檔案描述符後返回0,如果失敗則返回 1。寫到file descriptor 1 的所有資料都可以從file descriptor 0 讀回...

程序間通訊(1) 管道pipe

學習linux的知識中,有乙個特別重要的概念叫 程序 而要進行程序間通訊時,有乙個特別重要的概念就是 管道,今天,我們就來學習一下什麼是管道,它能又幹什麼呢?一 概念 管道 把乙個程序連線到另外乙個程序的乙個資料流稱為管道。其實,我們聯絡現實生活,自來水管可以將我們使用者和供水站連線起來,通過管道運...