编写程序,子进程通过管道向父进程发出字符串"ok".-阿里云开发者社区

开发者社区> shy丶gril> 正文

编写程序,子进程通过管道向父进程发出字符串"ok".

简介:
+关注继续查看

编写程序,子进程通过管道向父进程发出字符串"ok".

复制代码
 1 #include <stdio.h>
 2  #include <stdlib.h>
 3  #include <unistd.h>
 4  int main(void) {
 5      int data_processed; //用于记录已经处理的数据
 6      int file_pipes[2];  //定义两个文件描述符
 7      char buffer[BUFSIZ + 1];        //定义一个缓冲区,以便从管道中读取数据
 8      const char * some_data = "OK"; //定义一个将要写入管道中的字符串
 9      memset(buffer, '\0', sizeof(buffer)); //初始化读取缓冲区
10      int fork_result;
11      if (pipe(file_pipes) == 0) {          //创建管道
12          fork_result=fork();
13          if(fork_result==-1){
14              fprintf(stderr,"创建子进程失败");
15              exit(EXIT_FAILURE);
16          }
17          if(fork_result==0){  //说明我们在子进程中
18              data_processed = read(file_pipes[0], buffer, BUFSIZ);
19              printf("子進程读出%d个字符。内容是:%s\n",data_processed,buffer);
20          }else{               //说明我们在父进程中
21              data_processed = write(file_pipes[1], some_data, sizeof(some_data));
22              printf("父進程写入%d个字符\n", data_processed);
23          }
24          exit(EXIT_SUCCESS);
25      }
26      return EXIT_SUCCESS;
27  }
28  
复制代码

 


作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/01/20/2868278.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
你学不懂C语言,是因为不懂编写C程序的7个步骤
你学不懂C语言,是因为不懂编写C程序的7个步骤
1652 0
《UNIX网络编程 卷2:进程间通信(第2版)》——1.7 Unix标准
Posix是“可移植操作系统接口”(Portable Operating System Interface)的首字母缩写。它并不是一个单一标准,而是一个由电气与电子工程师学会即IEEE开发的一系列标准。
1429 0
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 第6章 使用字符串来交流 6.1 在字符串中存储文本
Java程序将字符串作为与用户交流的主要方式。字符串是一组文本,可以包含字母、数字、标点符号及其他字符。本章将介绍如何在Java程序中使用字符串。
1136 0
《UNIX网络编程 卷2:进程间通信(第2版)》——1.9 小结
各种类型IPC的持续性可以是随进程持续的、随内核持续的或随文件系统持续的,这取决于IPC对象存在时间的长短。在为给定的应用选择所用的IPC类型时,我们必须清楚相应IPC对象的持续性。
1228 0
多核环境下编写程序需注意cache【转载】
转载LYJ:http://blog.chinaunix.net/space.php?uid=14617649&do=blog&id=3058621 前阵子接触到一道关于数组内部链表(多用于内存池技术)的数据结构的题, 这种数据结构能够比普通链表在cache中更容易命中, 理由很简单, 就是因为其在地址上是连续的(=.
604 0
通过命令管道,在进程之间进行通信的简单例子
write_to_named_pipe.py import os if __name__ == "__main__": named_pipe = "my_pipe" if not os.
1030 0
+关注
1878
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载