无名管道

无名管道是父子进程通信的手段,没有关系的进程是不能使用无名管道的

int fd[2];

if (pipe(fd) == -1) {

printf("打开无名管道出错,%s\n", strerror(errno));

return -1;

}

char buf[1024];

pid_t pid = fork();

if (pid == -1) {

printf("fork出错\n");

return -1;

}

if (pid > 0) { //父进程

memset(buf, 0, sizeof(buf));

read(fd[0], buf, sizeof(buf));

printf("%s\n", buf);

} else { //子进程

memset(buf,0,sizeof(buf));

strcpy(buf,"hello world");

write(fd[1],buf,strlen(buf));

}

return 0;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容