我想从一个主进程创建多个进程。我知道我想使用 exec 系列中的一个函数,但它似乎并没有按照我的预期进行。似乎 exec() 是一个阻塞调用,或者我只是用错了。无论如何,上代码:
const char* ROUTERLOCATION = "../../router";
int main(int argc, char** argv) {
manager manager;
vector<string> instructions = manager.readFile(argv[1]);
...
//file gives me the number of proceses i want to spawn and that value goes in
//rCount
for(int i = 0; i < rCount; i++){
cout << "creating:" << i << endl;
execl(ROUTERLOCATION, "",NULL);
}
}
我看到的输出是:
creating:0
HI!!!
然后一切都优雅地退出。我不能使用 生成多个进程execl()
吗?
另外,我想与这些进程中的每一个进行通信,所以我不想在这些进程运行时被阻塞。