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

在C中的学习,linux 进程间的通信

2010-05-22 12:28 337 查看
管道是最简单的进程间通信的方法,实现父子进程间的通信;

管道分为全双工,和半双工的,全双工的又程命名管道....FIFO

下面试一个简单管道实现。

下面是给出一个简单的实现,在linux2.6 内核编译运行正确

#include<unistd.h>
#include<stdio.h>
#define MAXLINE 4096
int main()
{
int n;
int fd[2];
pid_t pid;
char line[MAXLINE];
if(pipe(fd) < 0)
{
perror("pipe error:");
return 0;
}
if((pid = fork()) < 0)
{
perror("fork error:");
return 0;
}
else if(pid > 0)
{
sleep(1);
close(fd[0]);
write(fd[1],"hello world/n",13);
}else
{
close(fd[1]);
close(fd[0]);
n = read(fd[0],line,MAXLINE);
write(1,line,n);
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: