Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to use multiple processors with fork in unix?
by Abigail-II (Bishop) on May 14, 2003 at 02:22 UTC | |
|
Re: How to use multiple processors with fork in unix?
by Skeeve (Parson) on May 14, 2003 at 08:37 UTC |