1 つのマスター プロセスから複数のプロセスを作成したい。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()
か?
また、これらの各プロセスと通信したいので、これらのプロセスの実行中にブロックされたくありません。