Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在linux中分叉子级后没有数据_C++_Linux_Process_Fork - Fatal编程技术网

C++ 在linux中分叉子级后没有数据

C++ 在linux中分叉子级后没有数据,c++,linux,process,fork,C++,Linux,Process,Fork,有东西在我眼前,但我看不见 if (childpid == 0) { std::cout << "Hi" << std::endl; int rc = startDevice2( (char*)devices,ports); std::cout << rc << std::endl; } else

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

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;
        }
因此,在我的stdout中没有看到rc=4,我什么也看不到。startDevice2已从另一个文件链接!!!Hi已打印,但rc未打印


怎么了?我希望在孩子的代码处看到rc,如果程序没有达到超过
startDevice2
的点,要么该函数需要很长时间才能完成,要么程序崩溃。您确定给定的参数正确吗?例如,您可能会抛出
devices
参数


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

我是什么?什么是destinations.size()?你确定第一个比第二个大吗?没什么特别的。刚刚编辑了代码。I取多个值并大于10。是否检查了变量
I
是否真的大于或等于
destination.size()
?使用调试器或至少将
cout
放入
startServer
分支。如果没有看到任何内容,则根本不会点击else分支。在
startServer
之前添加一些调试输出(例如
cout No if else。直接进入代码。Hi由rc打印,而不是
int startDevice2(char* x, int port) { return 4;}