无名管道

2017-02-07  本文已影响0人  8dc010427b39

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

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;

上一篇 下一篇

猜你喜欢

热点阅读