gpt4 book ai didi

c - 在多线程程序中执行另一个程序

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

只是想知道如何在线程中执行另一个程序并向其发送信息/从中获取信息。本质上与子进程和使用管道进行通信的概念相同 - 但我不想使用 fork。

我似乎找不到是否可以这样做,任何帮助将不胜感激。

谢谢

最佳答案

您不能使用exec 系列函数在一个线程中加载另一个可执行文件; exec 函数将整个进程替换为从可执行文件启动的进程。因此,如果您希望原始进程继续运行,则 fork() 是必需的。

理论上,您可以在用户空间中复制 exec 系统调用的大部分行为,并在线程中运行可执行文件 - 但由于线程会共享打开的文件表、信号处理程序等对于流程的其余部分,它可能会破坏性地干扰主要流程。工作量也会很大。

关于c - 在多线程程序中执行另一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871209/

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