C管道进程间通信

C pipes inter process communication

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

正是这个顺序:

Hello! I am the child process. Why does my parent process wait for me?

Test input

TEST INPUT

Hello, I am the parent process process. I've waited.

Process finished with exit code 0

但我例外 运行 并行,所以父进程应该在我进入某事之前退出.. 另外我不明白为什么我在收到消息“你好,我是父进程进程。我已经等了。”之前将文本转换为大写字母。在我的代码中,它的顺序相反。首先我打印出信息,然后我打印出大写字母的“测试输入”。

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

读取命令将等待此管道的写入命令。