#!/usr/bin/perl -w use strict; use POSIX ":sys_wait_h"; BEGIN { open(STDERR, ">>stderr.log") or die "Bad, can't open log: $!"; } die "Can't fork!" unless (defined(my $pid = fork())); if ($pid) { my $kid; do { $kid = waitpid(-1, &WNOHANG); } until $kid == -1; } else { exec "./realprog.pl"; }