000
10.06.2007, 21:51 Uhr
~tom1983
Gast
|
Hi,
ich habe ein Problem mit SSH.
Mal ein simpler Server :
C++: |
#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 Code:
C++: |
#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 ? |