标签:
#include <unistd.h> #include <sys/stat.h> #include <sys/wait.h> #include <sys/types.h> #include <fcntl.h> #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <signal.h> #include <sys/time.h> #define ERR_EXIT(m) do { perror(m); exit(EXIT_FAILURE); } while(0) int main(int argc, char *argv[]) { int pipefd[2]; if (pipe(pipefd) == -1) ERR_EXIT("pipe error"); pid_t pid; pid = fork(); if (pid == -1) ERR_EXIT("fork error"); if (pid == 0) //子进程 { close(pipefd[0]); write(pipefd[1], "hello", 5); //向管道内写 close(pipefd[1]); exit(EXIT_SUCCESS); } close(pipefd[1]); char buf[10] = {0}; read(pipefd[0], buf, 10); //从管道内读 printf("buf=%s\n", buf); return 0; }
这就是简单的匿名管道的应用。我们这里先不去研究其他的实现。
标签:
原文地址:http://www.cnblogs.com/DamonBlog/p/4392295.html