fork()&pipe()多线程

//fork()建立子进程经典code
https://img2018.cnblogs.com/blog/1027722/201810/1027722-20181011201518927-1431303100.jpg
结果:
https://img2018.cnblogs.com/blog/1027722/201810/1027722-20181011201816616-1985312695.jpg(复制链接到搜索框即可查看)
//fork() 新建子进程, 父子共用pipe
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
    
int main()
{
    int x, fd[2];
    char buf[50], s[50];//buf缓冲区, s输出区
    pipe(fd);
    if(x==0)//子进程
    {
        sprintf(buf, "This is an example of pipe\n");
        write(fd[1], buf, 50);
        exit(0);
    }
    else
    {
        wait(0);
        read(fd[0], s, 50);
        printf(" %s", s);
    }
}
结果:
![](https://img2018.cnblogs.com/blog/1027722/201810/1027722-20181011202445001-1532793219.jpg)

Ubuntu 运行通过!