gpt4 book ai didi

c - 在 C (Linux) 中重定向标准输入和输出

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:27 25 4
gpt4 key购买 nike

我正在尝试将标准重定向进出我的流程将要创建的流程,以便我可以与该流程进行双向通信。

基本上,我试图在 C 中完成 Python 的 popen2()。

我没能找到任何关于这个的东西,因为每个人似乎都在他们的例子中使用 fork(),这很方便,因为你可以创建管道、fork,然后在 child 中创建 dup() 来改变你的stdin 和 stdout,但是,在我的例子中,我没有 fork ,我实际上是在执行一个 shell 命令,我希望能够与之通信。

最佳答案

如果不 fork 进程,则无法执行 shell 命令。它是由系统等功能在内部完成的,您应该明确地执行它以捕获标准输入/标准输出。在您之前创建的 pipe 中通过 dup2 完成 fork 和设置 stdin/stdout 之后,使用您的 shell 调用 exec, “-c”参数和您要 fork 的 shell 命令。

关于c - 在 C (Linux) 中重定向标准输入和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com