use strict; use warnings; # Hier wird definiert, was getan werden soll, wenn # ein USR1-Signal kommt $SIG{"USR1"} = sub { print "Wie die Zeit vergeht...\n"; }; # Hier wird definiert, was getan werden soll, wenn # ein Kindprozess sich beendet (also wenn ein CHLD-Signal # kommt) $SIG{"CHLD"} = sub { print "Und vorbei!\n"; exit(0); }; my $parent_pid = $$; defined(my $child_pid = fork()) or die "fork problem"; if(! $child_pid){ # Child for(1..3){ kill "USR1", $parent_pid; # ein USR1-Signal schicken sleep 1; } exit(0); } # Parent # wir muessen dafuer sorgen, dass der Prozess am Leben bleibt. # Sonst koennen wir nicht mehr auf die Signale reagieren. sleep while 1;