绕过系统调用c ++

时间:2018-02-03 14:28:21

标签: c++ system-calls

我正在写一个像这样的c ++函数:

while(true){
 function A()
 system(cmd)
 function B()
}

我正在两个函数之间进行系统调用,这个系统调用将花费很长时间来执行。是否有可能让它在后台运行并绕过它以同时执行功能B?

1 个答案:

答案 0 :(得分:2)

在Linux / Unix上,system使用shell运行cmd。这意味着,您可以附加ampersand &以在后台运行命令,例如

const char cmd[] = "some_command &";
while(true){
    functionA();
    system(cmd);
    functionB();
}

请注意,由于这是在循环while (true) {...}中运行,因此可能会因为后台进程过多而使系统溢出。