pipe

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
 int result=-1;//创建管道的结果
 int fd[2],nbytes;//文件描述符,字符个数

 pid_t pid;
 //文件描述符 1 用于写,文件描述符 0 用于读
 int *write_fd=&fd[1];//写文件描述符
 int *read_fd=&fd[0];//读文件描述符
 
 result =pipe(fd);//建立管道
 if (-1==result)//建立管道失败
 {
  printf("建立管道失败\n");
  return -1;
 }
 pid=fork();//分叉进程
 if (-1==pid)
 {
  printf("fork 进程失败\n");
  return -1;
 }
 if (0==pid)//子进程
 {
  close(*read_fd);//关闭读端
 }
 else
 {
  close(*write_fd);//关闭写端
 }


 return 0;
}

你可能感兴趣的:(pip)