#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define BUFF_SIZE 20
int main(int argc, char **argv)
{
int fd[2];
int pid;
int pip_id;
char buff[BUFF_SIZE];
char buff_size[BUFF_SIZE] = "hello!\n";
pip_id = pipe(fd); //Create Pipe
if (pip_id < 0)
return -1;
if ((pid = fork()) < 0) { // Create process
perror("Create pid failed");
return -1;
}
if (pid == 0) { // Child process
while (1) {
write(fd[1], buff_size, sizeof(buff_size));
sleep(1);
}
} else {
while (1) {
read(fd[0], &buff, sizeof(buff)); // Father process
sleep(1);
printf("buff = %s\n", buff);
}
}
return 0;
}
_________________
read(fd[0]) <------------ |________pipe______| <------------- write(fd[1])
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。