Erik Tews: fork & Co.

Beitrag lesen

Hm, verstehe ich nicht. Sollte eigendlich gehen. Versuch doch mal folgendes Beispiel von der manpage perlipc auszuführen:

Complete Dissociation of Child from Parent

In some cases (starting server processes, for instance)
       you'll want to completely dissociate the child process
       from the parent.  This is often called daemonization.  A
       well behaved daemon will also chdir() to the root
       directory (so it doesn't prevent unmounting the filesystem
       containing the directory from which it was launched) and
       redirect its standard file descriptors from and to
       /dev/null (so that random output doesn't wind up on the
       user's terminal).

use POSIX 'setsid';

sub daemonize {
               chdir '/'               or die "Can't chdir to /: $!";
               open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
               open STDOUT, '>/dev/null'
                                       or die "Can't write to /dev/null: $!";
               defined(my $pid = fork) or die "Can't fork: $!";
               exit if $pid;
               setsid                  or die "Can't start a new session: $!";
               open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
           }

The fork() has to come before the setsid() to ensure that
       you aren't a process group leader (the setsid() will fail
       if you are).  If your system doesn't have the setsid()
       function, open /dev/tty and use the TIOCNOTTY ioctl() on
       it instead.  See the tty(4) manpage for details.

Non-Unix users should check their Your_OS::Process module
       for other solutions.

Wenn das auch nicht geht, liegt es an der dortigen Serverinstallation.