gpt4 book ai didi

c++ - 在 Linux 中 fork 一个子进程后没有数据

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

有东西在我眼前,但我看不见。

if (childpid == 0)
{
std::cout << "Hi" << std::endl;
int rc = startDevice2( (char*)devices,ports);
std::cout << rc << std::endl;

}
else
{
waitpid (-1, NULL, 0);
std::cout << "Parent process stops" << std::endl;
}

虚拟 startDevice2 如下

int startDevice2(char* x, int port) { return 4;}

因此,我没有在标准输出中看到 rc = 4,而是什么也没看到。 startDevice2 是从另一个文件链接的。 !!! Hi 已打印,但 rc 未打印。

怎么了?我期待在 child 的代码中看到 rc

最佳答案

如果程序没有到达 startDevice2 之后的位置,则该函数要么需要很长时间才能完成,要么会使程序崩溃。您确定给定的参数正确吗?例如,您强制转换 devices 参数就很可疑。

(假设“虚拟”startDevice2 不是所使用的真实设备)

关于c++ - 在 Linux 中 fork 一个子进程后没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464817/

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