write函数
read函数
pipe函数
pipe函数
在父进程写数据进管道,子进程从管道读数据,再把数据打印到屏幕
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int fd[2];
pid_t pid;
int ret;
ret = pipe(fd);
if(ret == -1)
{
perror("pipe error");
exit(1);
}
pid = fork();
if(pid == -1)
{
perror("fork error");
exit(1);
}
else if(pid == 0)
{
close(fd[1]);
char buf[1024];
ret = read(fd[0], buf, sizeof(buf));
if(ret == 0)
{
printf("--------\n");
}
write(STDOUT_FILENO, buf, ret);
}
else
{
close(fd[0]);
write(fd[1], "hello pipe\n", strlen("hello pipe\n"));
}
return 0;
}
|