linux 中管道的全双工通信(fork()父进曾和子进程执行先后顺序是不确定的)
来源:互联网 发布:淘宝拍照片技巧 编辑:程序博客网 时间:2024/06/07 02:05
代码:
#include<stdio.h>
#include<sys/wait.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
void sondo(int fd2read,int fd1write)
{
char *message="hello world";
char message1[100];
write(fd1write,message,100);
read(fd2read,message1,100);
printf("parent give son message %s",message1);
}
void parentdo(int fd1write,int fd2read)
{
char message1[100];
char *message="hello world my name is bai ai jie";
write(fd1write,message,strlen(message)+1);
read(fd2read,message1,100);
printf("son give parent message %s",message1);
}
int main(void)
{
int fd1[2],fd2[2];
int stat_val;
pid_t pid;
if(pipe(fd1))
{
printf("管道1或者管道2创建失败");
exit(0);
}
if(pipe(fd2))
{
printf("管道2创建失败哦~");
exit(0);
}
pid=fork();
switch(pid){
case -1:
printf("进程没有创建成功");
exit(0);
case 0:
printf("儿子进程");
close(fd1[1]);
close(fd2[0]);
sondo(fd1[0],fd2[1]);
exit(0);
default:
printf("父亲进程");
close(fd1[0]);
close(fd2[1]);
parentdo(fd1[1],fd2[0]);
exit(0);
}
}
- linux 中管道的全双工通信(fork()父进曾和子进程执行先后顺序是不确定的)
- 时间片轮转调度算法的提及和关于fork函数执行父,子进程先后顺序的理解
- Linux下用管道实现进程全双工通信的代码
- socketpair创建双向通信的管道(全双工通信)
- Linux进程间通信的几种方法-半双工管道,命名管道,消息队列
- Linux进程间通信的几种方法-半双工管道,命名管道,消息队列
- 进程间通信--管道(半双工)
- Unity3D 中脚本执行的先后顺序
- linux中fork函数及子进程父进程进程先后
- linux中fork函数及子进程父进程进程先后 .
- Linux 下父进程与子进程的通信(pipe管道)
- Linux进程的管道通信
- linux的进程通信-管道
- 程序执行的先后顺序(中文版)
- linux进程间通信-匿名半双工管道
- linux进程间通信-匿名半双工管道
- 【C语言】FORK子进程的创建和回收(按顺序回收)
- 全双工和半双工的区别
- Hive+GenericUDF示例一
- 个人能力--沟通
- LDAP快速入门
- Java多线程-线程的同步(同步方法)
- c#中MD5的加密解密
- linux 中管道的全双工通信(fork()父进曾和子进程执行先后顺序是不确定的)
- 适应不同分辨率屏幕的问题 android layout
- ORA-00257解决[未解决自己问题,而是直接重启电脑得解决]
- 电子邮件营销效果检验技巧分享
- Reminder websites
- Snappy,Lzo,bzip2,gzip,deflate文件解压
- /bin/bash^M: bad interpreter: 没有那个文件或目录
- java定时执行任务
- fgets函数 和 fputs