gpt4 book ai didi

c - fork() pipeline() dup2 无法与外部子进程通信

转载 作者:行者123 更新时间:2023-11-30 15:45:31 24 4
gpt4 key购买 nike

我试图在 fork() 之后向 child 发送一些东西,我已经设置了 dup2 来重定向 child 的输出。但看起来它没有得到流。更进一步,我如何从 child 那里得到输出。该文件是一个外部可执行文件,仅打印文本但不显示。请问有什么帮助吗?

最佳答案

  1. 您错误地使用了 pipe,因为它只需要调用一次 ( RTM )。

  2. 您错误地调用了calloc。使用calloc(100, sizeof(char))

  3. 不要将常量字符串分配给动态分配的内存部分。请改用 char message[] = "sent fromparent"。这种方式也是有益的,因为您可以在 write 中使用 sizeof 而不是 100。这也可能导致段错误,因为“从父级发送” 所在的内存区域长度不是 100 字节。

  4. 使用execv而不是execlp。您无需使用 execlp

关于c - fork() pipeline() dup2 无法与外部子进程通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18974161/

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