hi also folgendes
grundsaetzlich entwickele ich unter debian ( testing /
lenny ) wes wegen die perl version wohl 5.10 ist.
und die meisten sachen laufen dann unter openbsd mit der aktuellen perl version 5.8.8.
aktuell werkele ich an einem daemon rum der dateien
ueberwacht und bei einer aenderund diese , modul_basiert, verarbeitet.
soweit so gut .
der perl daemon laeuft auf meiner entwicklungs kiste
genauso wie erwartet , sei es im nicht daemon mode ( zum debuggen ) als auch im daemon mode.
kopiere ich nun dieses script um auf die openbsd kiste
laeuft dieses auch sauber im debug ( also im nicht daemon mode ).
schalte ich jedoch hier um aud den daemon mode so
fuehrt er einmalig den filescan aus und verabschiedet
sich sang und klanglos.
wenn ich nun das modul bei dessen files er sich verabschiedet abschalte laueft er sauber wie gewollt.
unterschied zur test kiste ist a: das bs und die perl version und die anzahl der dateien die
in einem hash namens %monitor stehen.
der daemon code ist dieser
sub RunAsDaemon { $SIG{'HUP' } = 'HandleSignal';
chdir '/' or die &mylogger ("Can’t chdir to /: $!");
open STDIN, '/dev/null' or die &mylogger ("Can’t read /dev/null: $!");
open STDOUT, '>>/dev/null' or die &mylogger ("Can’t write to /dev/null: $!");
open STDERR, '>>/dev/null' or die &mylogger ("Can’t write to /dev/null: $!");
defined(my $pid = fork) or die &mylogger ("Can’t fork: $!");
exit if $pid;
setsid or die &mylogger ("Can’t Start a new session: $!");
#open (PID, "+>/var/run/csd.pid" ) or die &mylogger ("$cfg{'ident'}D trouble with pid file" );
# print PID "$pid\n" ;
#close (PID);
umask 0;
}
wird vor der wihle schleife aufgerufe
&RunAsDaemon if (not($cfg{'debug'})) ;
gibt es irgendwelche unterschiede in den perl versionen das so ein effekt auftreten kann ?
gibt es ein limit von objekten die in einem
hash sein duerfen. ?
aktuell stehe ich etwas auf dem schlauch da
das ganze ja wie gewuescht auf der vevel kiste
laeuft.
holger
Datum: 13.10.2008-18:08
