您的位置:首页 > 运维架构 > Linux

Linux管道编程实例

2014-10-01 20:38 344 查看
#include <unistd.h>
#include <signal.h>
#include <stdio.h>

char parent[] = "a message from parrent";
char child[] = "a message from child";

main ()
{
    int chan1[2], chan2[2];
    int pid;
    char buf[100];
    pipe(chan1);
    pipe(chan2);
    pid=fork();
    if(pid > 0)
    {
        close(chan1[0]);
        close(chan2[1]);
        write(chan1[1], parent, sizeof(parent));
        close(chan1[1]);
        read(chan2[0],buf, 100);
        printf("%s\n", buf);
        close(chan2[0]);
    }
    else if(pid == 0)
    {
        close(chan1[1]);
        close(chan2[0]);
        read(chan1[0], buf, 100);
        printf("%s\n", buf);
        write(chan2[1], child, sizeof(child));
        close(chan2[1]);
        close(chan1[0]);
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: