博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux管道学习(二)
阅读量:5054 次
发布时间:2019-06-12

本文共 1418 字,大约阅读时间需要 4 分钟。

1 int main() 2 { 3     char* pipename = "pipe"; 4     mkfifo(pipename,0777); 5     int pid = fork(); 6     if(pid < 0)     7     { 8         printf("Error In Fork\n"); 9         exit(-1);10     }11 12     if(pid == 0)13     {14         printf("In Child Process\n");15         int fd = open(pipename,O_WRONLY|O_NONBLOCK);16         node testnode;17         testnode.a = 10;18         testnode.b = 20;19         20         write(fd,&testnode,sizeof(testnode));21 22         testnode.a = 11;23         testnode.b = 22;24 25         write(fd,&testnode,sizeof(testnode));26 27         close(fd);28         printf("Child Process Is Over \n");29     }30     if(pid > 0)31     {32         33         printf("In Parent Process\n");34         35         int fd = open(pipename,O_RDONLY);36 37         node testnode;38         read(fd,&testnode,sizeof(node));39         printf("Msg From Child node a = %d,b = %ld \n",testnode.a,testnode.b);40 41         read(fd,&testnode,sizeof(node));42         printf("Msg From Child node a = %d,b = %ld \n",testnode.a,testnode.b);43 44         close(fd);45         46         waitpid(pid,NULL,0);47         printf("Praent Process Is Over \n");48     }49 50     51 }

在阻塞情况下,管道会阻塞直到有内容写入

读取时如果管道为空会等待有内容可以读取

在打开管道的时候可以选择非阻塞方式O_NONBLOCK

如果是非阻塞方式则忽略当前管道状态

命名管道不仅可以在有亲缘关系的进程中进行通信,也可以在无亲缘关系的进程中通信。

posted on
2016-07-01 11:00 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/boyunzheyue2/p/5632349.html

你可能感兴趣的文章
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>