使用全局变量 ,静态变量都没有意义
#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时这个管道的例子会对你有帮助。