Linux管道编程实例
#include <unistd.h> #include <signal.h> #include <stdio.h> char parent[] = "a message from parrent"; char child[] = "a message from child"; main () { int chan1[2], chan2[2]; int pid; char buf[100]; pipe(chan1); pipe(chan2); pid=fork(); if(pid > 0) { close(chan1[0]); close(chan2[1]); write(chan1[1], parent, sizeof(parent)); close(chan1[1]); read(chan2[0],buf, 100); printf("%s\n", buf); close(chan2[0]); } else if(pid == 0) { close(chan1[1]); close(chan2[0]); read(chan1[0], buf, 100); printf("%s\n", buf); write(chan2[1], child, sizeof(child)); close(chan2[1]); close(chan1[0]); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。