perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 34
Click for quality!




10.02.2012 / 10:06

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSignal-Handler
Seitenanfang
Hi,

ich benutze auf einem Linux-Server ein Perl-Script namens iwatch (http://iwatch.sf.net) und möchte dies um einen Signalhandler erweitern, der auf SIGHUP reagiert und als Reaktion darauf das Script die Config neu einlesen lässt ohne das Script zu beenden oder komplett neu zu starten. In der aktuellen Version von iwatch ist das neu lesen der Config nur möglich indem man es beendet und neu startet. Dadurch entsteht aber logischerweise ein Zeitfenster in dem iwatch nicht läuft und dementsprechend auch nicht seiner Aufgabe nachkommen kann. Genau dieses Zeitfenster möchte ich mit diesem Ansatz eliminieren. Ich habe bereits gegoogled und auch ein bischen herumprobiert, allerdings verstehe ich sogut wie garnichts von Perl, da ich damit bisher selbst nichts programmiert habe. Mein bisheriger Versuch einen Signalhandler wie auf diversen Websites beschrieben einzubauen schlug leider fehl - das Script reagiert nicht auf das Signal SIGHUP. Die Orginalversion von iwatch kann unter oben genannter Adresse heruntergeladen werden - die von mir modifizierte Version ist unter http://pastebin.com/f1b2fb99d zu betrachten. Ich habe auch versucht einen die-Befehl im Handler auszuführen um zu sehen ob er überhaupt etwas tut, aber er tut nicht.

Ich hoffe mir kann jemand von euch vllt weiterhelfen :)

Gruß und Dank,
Dominik

Datum: 19.01.2009-11:47

Beitragre: Signal-Handler
Seitenanfang
Hast Du es mal mit
$SIG{HUP} = sub{
# Code zum einlesen der Konfig
die "test";
}

probiert?

Datum: 20.01.2009-09:56

Beitragre: Signal-Handler
Seitenanfang
ja genau das hat nicht funktioniert ;) aber ich habs inzwischen gelöst bekommen... so hier:


Event->signal (signal => 'HUP', cb => sub {
# CODE
});

der andere ansatz hat wohl nich funktioniert weil der eigentliche workload des scripts auch auf event basiert - keine ahnung, ich kenn mich mit perl nich aus :D

Datum: 20.01.2009-09:58

-






-
-