【发布时间】:2019-05-27 00:07:44
【问题描述】:
给定两个程序 Program1.c 和 Program2.c,它们都作为自己不相关的程序/进程分别执行:
Program1 知道 Program2 的 PID,反之亦然。
两个程序必须使用什么 C 代码(不是 shell 命令)将它们的标准输入/标准输出链接到另一个标准输出/标准输入?
【问题讨论】:
-
为什么不直接使用套接字?
-
还是fifo/命名管道?
-
您使用的是哪个操作系统?他们每个人都必须关闭现有的标准输入和输出,并打开双方同意的连接——可能是 Unix 域套接字。
-
我对套接字了解不多,但知道管道对于本地进程间通信更有效/更快,基于快速谷歌。至于命名管道,我相信这就是 stdon/stdout 已经是什么,并且我宁愿使用已经存在的内容,而不是为每个单独的程序协调新的内容。相关问题似乎不是 C,我想在源代码中链接它们,而不是从 shell。至于操作系统,目标是 linux,但我在 windows 和 osx 上编码,所以,最通用的选项或每个操作系统的答案。有时它会在 arduino n 之类的东西上受到影响
标签: c pipe stdout stdin io-redirection