Linux高级编程基础——进程间通信之匿名管道—创建兄弟进程

本文介绍了如何在Linux中使用匿名管道实现兄弟进程间的通信。兄进程发送特定字符串到弟进程,弟进程接收到后回应相应信息。重点在于管道的使用和进程的创建。
摘要由CSDN通过智能技术生成

进程间通信之匿名管道—创建兄弟进程

利用匿名管道实现兄弟进程间通信,要求

  1. 兄进程发送字符串“This is elder brother ,pid is (兄进程进程号)”给弟进程;
  2. 弟进程收到兄进程发送的数据后,给兄进程回复“This is younger brother , pid is(弟进程进程号)”; */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <string.h>

int main()
{
  int fd1[2],fd2[2];
  char buf1[50],buf2[50],p1[50],p2[50];
  pid_t pid1,pid2;
  pipe (fd1);   //创建管道一
  pipe (fd2);   //创建管道二
  if ((pid1 = fork()) > 0)  //创建子进程一(就是兄进程) 通过判断进入父进程
   {
      if ((pid2 = fork ()) == 0) 在父进程中再次创建子进程二(就是弟进程) 通过判断进入 弟进程
         {
           close (fd1[1]);  //关闭管道一的 写入端
           close (fd2[0]);  //关闭管道二的 读入端
           strcpy(buf2,"This is elder younger,pid is ");//
           sprintf(p2,"%d",getpid());
           strcat(buf2,p2);
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值