I'm trying to write a perl script that will execute 2 other perl scripts simultaneously with 2 separate processors in unix. Here's an incredibly simple example that, er, isn't working quite right...
Each of the srub.*.p scripts reads in a single (c. 200 Meg) file and writes out a couple of small summary files, with all files ultimately referenced with a close().#!usr/local/bin/perl #Usage: getslack.p file1 file2 if (fork()==0) { print "child1\n"; system ("scrub.ast.p $ARGV[0]"); exit; } if (fork()==0) { print "child2\n"; system ("scrub.pt.p $ARGV[1]"); exit; } wait; wait; print "Done!\n";
Currently, both "child1" and "child2" are printing to the screen, and the *ast.p output looks good, but the *pt.p process never shows up in a cpu. (Both scripts work fine when run independently.) I ultimately get a "Done!" and the *ast.p results.
I would appreciate any hints! Some of the other fork examples I've seen here are far more complicated that what I need to do.
Thank You.
Edit by tye, remove BR, add CODE
In reply to How to use multiple processors with fork in unix? by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |