if (my $pid1 = fork()) { wait; return; } elsif (defined($pid1)) { # Child if (my $pid2 = fork()) { # Still Child exit(0); } elsif (defined($pid2)) { # Grandchild exec(...); } else { die "Fork error: $!\n"; } } else { die "Fork error: $!\n"; }
You may also want to do things like POSIX::setsid and setpgrp. Search the archives for daemon for some sample code.
In reply to Re: CGI fork() Difficulty
by sgifford
in thread CGI fork() Difficulty
by lacertus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |