【问题标题】:Unix how to two ways pipe communicationUnix如何通过两种方式进行管道通信
【发布时间】:2015-03-01 07:12:07
【问题描述】:

我需要管道的基本逻辑。我知道如何在同一个 cpp 中使用管道,但我需要做一些类似的事情;我必须创建 2 个 .cpp 文件。其中一个是父母,另一个是孩子。 parent 会将缓冲区中的任何内容发送到 child.cpp,并将收到来自 child.cpp 的响应。 child.cpp 从它的父级接收 msg 并将此 msg 返回给它的父级。我可以在同一个 .cpp 中执行此操作,但我不知道如何在 2 .cpp 中进行通信和实现。 请问有什么办法吗?

【问题讨论】:

  • 我认为这个问题是乱码。 “.cpp”是 C++ 模块或源文件。单独的源文件只是为了组织而划分类和函数以及其他全局声明的一种方式。它们绝不会映射到单独的进程。当两个或多个源文件链接到一个可执行文件并运行时,所有函数都在 same 进程中运行,直到您在某处明确 fork() 。你有单独的个可执行文件吗?

标签: c++ pipe fork parent-child parent


【解决方案1】:

我认为您期望做的是在两个不同的进程之间建立管道 IPC。您可以查看mkfifo 以创建“命名管道”。

请查看以下SO question 以获得更多见解

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    相关资源
    最近更新 更多