in reply to How to open redirected url while running foolwing code in background

You need to fork a child process to run the background job, so the parent can send the redirection and terminate normally. Also, you'll need to close (or redirect to a file) STDOUT and STDERR in the child before the exec(), so the webserver will not wait for the pipes to the child (duplicated by the fork) to get closed.

Update: something like this:

my $pid = fork(); die "Couldn't fork: $!" unless defined $pid; if ($pid) { # parent print "Location: $outpage_url\n\n"; } else { # $pid == 0 # child open STDOUT, ">>", "/path/to/some/logfile" or warn "Couldn't redir +ect STDOUT: $!"; open STDERR, ">>", "/path/to/some/logfile" or warn "Couldn't redir +ect STDERR: $!"; exec "$bin/somescript.pl"; exit; # just in case the exec failed }