父进程下的两个子进程通过管道进行通信

该博客展示了如何在C语言中通过管道实现父进程与两个子进程间的通信。首先创建一个管道,然后通过`fork()`创建两个子进程。一个子进程作为写端将消息写入管道,另一个子进程作为读端从管道读取并输出消息。通过关闭不必要的文件描述符确保数据正确传递。
摘要由CSDN通过智能技术生成
[201514636@ln01 C]$ cat pipe_pro.c
#include<sys/types.h>
#include<unistd.h>
#include<stdio.h>
#include<limits.h>
#define BUFSIZE PIPE_BUF //PIPE_BUG:管道默认一次性读写的数据长度
void err_quit(char *msg)
{
printf(msg);
exit(0);
}
int main(int argc,char* argv[])
{
int fd[2];
char buf[BUFSIZE]="hello my brathor\n";/*写入管道的缓冲区*/
pid_t pid;
int len;
if((pipe(fd))<0)//创建管道
err_quit("pipe failed\n");
if((pid=fork())<0)
e
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值