$pid=fork; exit if $pid; die "Fehler bei fork: $!" unless defined($pid); use POSIX; POSIX::setsid() or die "Konnte keine neue Session starten: $!"; $time_to_die = 0; sub signal_handler { $time_to_die=1; } $SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&signal_handler; until ($time_to_die) { sleep(1); ----- hier dann dein auszuführender code und sprung in die subroutinen.. }