PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ssh Verbindung schliessen bei Prozess beendigung



tsluga
05-06-2007, 22:44
Hi,

ich habe ein Problem mit SSH.

Mal ein simpler Server :

#include <iostream>
#include <ctime>
#include <boost/thread/thread.hpp>



void thread_func(void){
for(unsigned int i = 0; i < 2; i++){
boost::thread t(startThread);
system("ssh localhost \' ./client \'");
}
}

int main(void){
boost::thread t(thread_func);
char c = getchar();
return 0;
}


Ein einfacher Client


#include <iostream>
#include <cstdlib>

int main(void){
while(true){
std::cout<<"while-loop \n";
sleep(2);
}
}


Über den Server will ich nun auf verschiedenen Rechner Client Prozesse starten diese verbinden sich dann mit dem Server. Wenn ich den Server Prozess beende, sollen alle SSH Verbindungen geschlossen werden und somit auch die Client Prozesse gekillt werde, wie es z.B. bei MPI ist.

Im obigen Beispiel starte ich einfach mal Client prozesse die in einer while schleife laufe, wenn ich den Server Prozess beenden, beenden sich die Client Prozesse jedoch nicht, wie kann man sowas errreichen ?