Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: multi-command sytem call

by blm (Hermit)
on Aug 25, 2004 at 03:30 UTC ( #385573=note: print w/replies, xml ) Need Help??


in reply to Re: multi-command sytem call
in thread multi-command sytem call

What would you call waitpid on? How would you find the process id of the child (perl prog-rpla.pl or perl prog-rpla.pl) if you use open(PROC1, "|perl prog-rpla.pl &") as I think you are indicating water should do?

Replies are listed 'Best First'.
Re^3: multi-command sytem call
by edan (Curate) on Aug 25, 2004 at 06:56 UTC
    my $pid1 = open( my $fh1, '|-'); if ( $pid1 == 0 ) { print "child1 sez: $$ forked, now exec()ing false!!\n"; exec (qw/false/) or die "Can't exec false $!"; } my $pid2 = open( my $fh2, '|-'); if ( $pid2 == 0 ) { print "child2 sez: $$ forked, now exec()ing true!!\n"; exec (qw/true/) or die "Can't exec false $!"; } sleep 1; # just so the output makes more sense print "Hi, I'm the parent, and I'm going to wait for pid1=($pid1) and +pid2=($pid2)!\n"; my $dead_pid; $dead_pid = waitpid $pid1, 0; print "parent sez: pid $dead_pid exited with status $?\n"; $dead_pid = waitpid $pid2, 0; print "parent sez: pid $dead_pid exited with status $?\n";

    Output is:

    child1 sez: 19628 forked, now exec()ing false!! child2 sez: 19629 forked, now exec()ing true!! Hi, I'm the parent, and I'm going to wait for pid1=(19628) and pid2=(1 +9629)! parent sez: pid 19628 exited with status 256 parent sez: pid 19629 exited with status 0
    --
    edan

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://385573]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2023-04-02 03:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?