perl多进程主进程等子进程结束
发布时间:2020-12-15 23:40:09 所属栏目:大数据 来源:网络整理
导读:将“use POSIX ":sys_wait_h";”去掉,还有在主进程中打印子进程中的变量是不对的,主进程不知道子进程的状况,除非你用pipe将变量值传给主进程,###################################################!/usr/bin/perl#use POSIX ":sys_wait_h";my $a=10;for(
将“use POSIX ":sys_wait_h";”去掉,还有在主进程中打印子进程中的变量是不对的,主进程不知道子进程的状况,除非你用pipe将变量值传给主进程, ################################################## #!/usr/bin/perl #use POSIX ":sys_wait_h"; my $a=10; for($i=1;$i<=3;$i++){ my $pid=fork(); if (!defined($pid)) { print "Error in fork: $!"; exit 1; } if ($pid == 0 ) { if($i==1){ sleep(9); $b1=$a+1; print "$b1t"; exit 0;} elsif($i==2){ sleep(5); $b2=$a+10; print "$b2t"; exit 0;} else{ sleep(3); $b3=$a+100; print "$b3t"; exit 0; } } } print "~~~~~~~~~~split~~~~~~~~~~~n"; while (($collect = waitpid(-1,WNOHANG)) > 0) { 1; } ##################### 输出 ########## bsd2# perl test.pl ~~~~~~~~~~split~~~~~~~~~~~ 110 20 11 bsd2# (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |