我尝试用管道理解C中的进程间通信。 在下面的代码片段中,我分叉了我的程序。 这就是为什么我认为两个过程都应该工作而不等待另一个过程。但是当我跑步时,我可以输入某事。在我的键盘中,在此之后,父进程以大写字母打印输入的文本并打印出消息“你好,我是父进程进程。我等了。”
正是这个顺序:
您好!我是孩子的过程。为什么我的父流程会等我?
测试输入
TEST INPUT
您好,我是父进程进程。我等了。
处理完成,退出代码为0
但是我除了两个并行运行,所以父进程应该在我进入之前退出... 此外,我无法理解为什么在收到消息“Hello,我是父进程进程之前,我将文本转换为大写字母。我已经等了。”在我的代码中它的顺序颠倒了。首先我打印出信息,然后用大写字母打印出“测试输入”。
这是我的代码: https://github.com/marvpaul/CPipesTest/blob/master/main.c
答案 0 :(得分:0)
read命令将等待此管道的写命令。