Then in the file startPipe.pl...$SIG{CHLD} = 'IGNORE'; defined (my $kid = fork) or die "Cannot fork: $!\n"; if($kid) { # do nothing... } else { chdir '/webRoot/cgi-bin' or die ... open STDIN, '/dev/null' or die ... open STDOUT, '>/dev/null' or die ... open STDERR, '>/tmp/log' or die ... setsid or die ... my $oldfh = select STDERR; local $| = 1; select $oldfh; my $run = "perl /webRoot/apps/startPipe.pl -f $dest_file -j $job_ ++ID -c $created -t $job_type $adv_opts"; `$run`; CORE::exit(0); # terminate the process }
and finally in the file /tmp/logfor my $i (1 .. 1) { $arab_string .= "my \@arab$i = ("; $blast_run = "blastn ATH1_chr$i.1con.01222004 $seq_file_name - +wa +rnings"; warn "$blast_run\n"; $blast_output = `$blast_run`; warn "Error: $!\n"; ...
and if i copy the the string generated by $blast_run and paste it into bash it will work, the files are in the right places. I have chmodded everything to 777 to make sure that it's not permissions. I'm probably missing something very simple... Thanks.blastn ATH1_chr1.1con.01222004 /webRoot/cgi-bin/jobs/15-12-2007/WZuFQe + +miR8sSigXB3vFjLiuix/WZuFQemiR8sSigXB3vFjLiuix -warnings Error: No such file or directory
In reply to File Access for child process by crunchi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |