【资料】父子进程可以共享变量吗? 使用pipeline

使用全局变量 ,静态变量都没有意义

#include         <unistd.h>
#include         <stdio.h>
#include         <sys/types.h>
#define   MAXLINE   100
int
main(void)
{
        int   n,fd[2];
        pid_t   pid;
        char   line[MAXLINE];
        if   (pipe(fd) <0)
        {
                printf( "pipe   error ");
                exit(1);
        }
        if   ((pid   =   fork())   <   0)
        {
                printf( "fork   error ");
                exit(1);
        }
        else   if   (pid> 0)
        {
                close   (fd[0]);
                write   (fd[1], "how   are   you?\n ",12);
                sleep(2);
        }
        else
        {
                close   (fd[1]);
                n=read(fd[0],line,MAXLINE);
                write(STDOUT_FILENO,line,n);
        }
        exit(0);
}
我上面是说的是在多线程编程中的情况,在fork时这个管道的例子会对你有帮助。

posted @ 2012-03-11 20:30  os66  阅读(1404)  评论(0编辑  收藏  举报