这是我上一个问题的续集。我正在使用 fork 创建子进程。在孩子内部,我正在命令运行如下进程:
if((childpid=fork())==0)
{
system("./runBinary ");
exit(1)
}
我的 runBinary 具有测量从开始到结束需要多少时间的功能。
令我惊讶的是,当我直接在命令行上运行 runBinary 时,大约需要 60 秒。但是,当我将它作为子进程运行时,它需要更多,比如 ~75 或更多。有什么我可以做或目前做错的事情,这会导致这种情况吗?
我在这里先向您的帮助表示感谢。更多细节:我在 linux RHEL 服务器上运行,有 24 个内核。我正在测量 CPU 时间。一次,我只 fork 8 个孩子(按顺序),每个孩子都绑定到不同的核心,使用任务集(代码中未显示)。除了我自己的程序,系统没有加载。