用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

利用管道实现两个进程之间的通信

2013-05-06 作者: 德良举报

[c]代码库

程序一:建立管道并且写数据
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <signal.h>
#include <stdlib.h>
int fd;
int i=0;
void  end(int s)
{
//关闭管道	
  close(fd);			
//删除管道
  unlink("my.pipe");	
  exit(-1);
} 
main()
{
  signal(SIGINT,end);		
//建立管道
  mkfifo("my.pipe",0666);	
//打开管道
  fd=open("my.pipe",O_RDWR);		
    while(1)	
  {		
//每隔1秒写数据		
    sleep(1);	
    write(fd,&i,4);	
    i++;
  }	
}


程序二:打开管道并且读取数据
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <signal.h>
#include <stdlib.h>
int fd;
int i;
void end(int s)
{
//关闭管道
  close(fd);
  exit(-1);
}
main()
{
  //int i;	
  //打开管道	
  signal(SIGINT,end);
  fd=open("my.pipe",O_RDWR);
  while(1)
  {
    read(fd,&i,4);
    printf("%d\n",i);
  }	
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...