하나의 마스터 프로세스에서 여러 프로세스를 생성하려고합니다. 나는 exec 계열의 함수를 사용하고 싶지만, 의도 한 방식대로 수행하지 않는 것 같습니다. exec()가 블로킹 콜이거나 아마 잘못 사용하고있는 것 같습니다. 어쨌든, 코드에 :마스터 프로세스에서 여러 프로세스 실행
creating:0
HI!!!
그리고 모든 것이 정상적으로 종료 :
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);
}
}
내가 볼 출력됩니다. execl()
을 사용하여 하나 이상의 프로세스를 생성 할 수 있습니까?
또한 이러한 각 프로세스와 통신하고 싶습니다. 따라서 이러한 프로세스가 실행되는 동안 차단하고 싶지는 않습니다.
은'전화 fork'입니까? 그것을 호출해야하며, 자식 프로세스임을 나타내는 경우 'exec'를 수행하십시오. 부모는 계속해서 달리고 아이들을 돌진합니다. 아이들은 모두 자신이 원하는 프로그램으로 대체합니다. – paddy