Perl + Kill Threads
Hi @all,
trotz PHP-Schwerpunkt in diesem Forum hoffe ich, auf mein Problem evtl. einen Loesungsansatz zu erhalten...
Ich habe mit Perl ein Programm geschrieben, welches mir meine PCs zu Hause per SSH ueberwacht (Temperaturen etc...).. Dabei laeuft auf meinem Monitoring-Rechner ein Perl-Script als Daemon und baut in periodischen Abstaenden SSH-Verbindungen zu den zu ueberwachenden Systemen auf. Da der Aufbau der Verbindungen recht zeitintensiv ist (da auch langsame Systeme unter den zu ueberwachenden Systemen sind), habe ich die Abgrafe mit Hilfe von Threads versucht zu parallelisieren.
Jetzt habe ich nur ein Problem.. Sollte ein Thread einmal stehen bleiben (wenn sich die ssh-Abfrage aufhaengt, lange Zeit braucht, etc).. dann bleibt die ganze Monitoring-Abarbeitung stehen. Jetzt habe ich versuch die Threads per Systemkommando "kill -9 PID" zu killen. Leider startet mir Perl in diesem Fall die Threads neu
Gibt es in Perl (in der Thread Extension) evtl. ein Kommando, mit dem ich Threads beenden kann...
Ein exit(0) beendet mir das gesamte Monitoring-Programm...
trotz PHP-Schwerpunkt in diesem Forum hoffe ich, auf mein Problem evtl. einen Loesungsansatz zu erhalten...
Ich habe mit Perl ein Programm geschrieben, welches mir meine PCs zu Hause per SSH ueberwacht (Temperaturen etc...).. Dabei laeuft auf meinem Monitoring-Rechner ein Perl-Script als Daemon und baut in periodischen Abstaenden SSH-Verbindungen zu den zu ueberwachenden Systemen auf. Da der Aufbau der Verbindungen recht zeitintensiv ist (da auch langsame Systeme unter den zu ueberwachenden Systemen sind), habe ich die Abgrafe mit Hilfe von Threads versucht zu parallelisieren.
Jetzt habe ich nur ein Problem.. Sollte ein Thread einmal stehen bleiben (wenn sich die ssh-Abfrage aufhaengt, lange Zeit braucht, etc).. dann bleibt die ganze Monitoring-Abarbeitung stehen. Jetzt habe ich versuch die Threads per Systemkommando "kill -9 PID" zu killen. Leider startet mir Perl in diesem Fall die Threads neu

Gibt es in Perl (in der Thread Extension) evtl. ein Kommando, mit dem ich Threads beenden kann...
Ein exit(0) beendet mir das gesamte Monitoring-Programm...
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »bjpage« (25. Juni 2007, 09:51)
Hallo,
ich hab leider von dem Thema nicht so die Ahnung, aber ein Bekannter von mir konnte dir helfen:
http://perldoc.perl.org/functions/alarm.html
Hoffe das hilft dir weiter
Gruß
ich hab leider von dem Thema nicht so die Ahnung, aber ein Bekannter von mir konnte dir helfen:
http://perldoc.perl.org/functions/alarm.html
Zitat
kRuZiFiX: alarm setzen, ssh verbindung aufbauen
kRuZiFiX: so wie im beispiel
kRuZiFiX: brauch man garkein kill
kRuZiFiX: und das alles im thread (der alarm..)
Hoffe das hilft dir weiter

Gruß
http://zoryfl.wmw.cc


