C管道进程间通信

时间:2017-01-07 21:32:21

标签: multithreading process pipe ipc child-process

我尝试用管道理解C中的进程间通信。 在下面的代码片段中,我分叉了我的程序。 这就是为什么我认为两个过程都应该工作而不等待另一个过程。但是当我跑步时,我可以输入某事。在我的键盘中,在此之后,父进程以大写字母打印输入的文本并打印出消息“你好,我是父进程进程。我等了。”

正是这个顺序:

  

您好!我是孩子的过程。为什么我的父流程会等我?

     

测试输入

     

TEST INPUT

     

您好,我是父进程进程。我等了。

     

处理完成,退出代码为0

但是我除了两个并行运行,所以父进程应该在我进入之前退出... 此外,我无法理解为什么在收到消息“Hello,我是父进程进程之前,我将文本转换为大写字母。我已经等了。”在我的代码中它的顺序颠倒了。首先我打印出信息,然后用大写字母打印出“测试输入”。

这是我的代码: https://github.com/marvpaul/CPipesTest/blob/master/main.c

1 个答案:

答案 0 :(得分:0)

read命令将等待此管道的写命令。