【问题标题】:C++ - How to fully wrap a subprocessC++ - 如何完全包装子进程
【发布时间】:2013-07-06 04:30:54
【问题描述】:

我的目标是:

管道标准输入到子进程的标准输入。

子进程的标准输出到标准输出。

将智利进程的 stderr 管道传输到 stderr。

我看过这些:

http://www.jukie.net/bart/blog/popenRWE

http://jineshkj.wordpress.com/2006/12/22/how-to-capture-stdin-stdout-and-stderr-of-child-program/

但在执行我列出的操作时遇到问题。

【问题讨论】:

  • 这三个中的哪一个你已经开始工作了,你遇到了哪些问题?
  • 如果你想将子进程的 stdin/stdout/stderr 连接到你的 stdin/stdout/stderr 你不需要做任何事情,它会自动继承它们。
  • @Bamar 我一直在学习同样的两件事:1)我让事情变得比他们需要的更复杂。 2)SO上的人非常乐于助人。谢谢!
  • @Bamar,如果你想把它变成答案,我会接受的。
  • @Barmar 如果您想将其作为答案,我会接受。 (对不起,你的名字/句柄之前的错字)

标签: c++ fork popen dup


【解决方案1】:

如果你想将子进程的 stdin/stdout/stderr 连接到你的 stdin/stdout/stderr 你不需要做任何事情,它会自动继承它们。

请注意,这不会让您的应用程序对数据有任何访问权限——它只是直接在子流程应用程序和原始流之间进行。所以它并不是真正“包装”任何东西。

【讨论】:

    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多