Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

bjpage

Tripel-As

Dabei seit: 20.10.2002

Beiträge: 205

 

1 Zum Seitenanfang

Montag, 25. Juni 2007, 09:51

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 :huh:

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)

 

zoryfl

Moderator

Dabei seit: 14.01.2003

Beiträge: 2 766

 

2 Zum Seitenanfang

Montag, 25. Juni 2007, 15:16

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

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
 

bjpage

Tripel-As

Dabei seit: 20.10.2002

Beiträge: 205

 

3 Zum Seitenanfang

Montag, 25. Juni 2007, 15:24

Gibt es nicht eine einfachere Variante wie z.B.:

Quellcode

1
2
my $thr = threads->new(\&function);
$thr->exit(0);