in reply to File Access for child process
my $oldfh = select STDERR; local $| = 1; select $oldfh;
This is superfluous as the STDERR stream is unbuffered.
my $run = "perl /webRoot/apps/startPipe.pl -f $dest_file -j $job_ ++ID -c $created -t $job_type $adv_opts"; `$run`;
You have forked a new process and now you are using backticks in void context which forks another process and starts a shell to run your command and returns the STDOUT of that command. Just use exec:
exec 'perl', '/webRoot/apps/startPipe.pl', '-f', $dest_file, '-j', + $job_', '+ID', '-c', $created, '-t', $job_type, $adv_opts;
|
|---|