等待进程在后台执行完毕之后再继续 background process
来源:Wait for background processes to complete
大约是这样的:先fork了一个shell,然后shell在后台执行cp,想在后台cp完成之后再继续往下执行。
use IPC::Run qw/run/;
my @cmds;
while (<*.txt>) {
print "Copying $_\n";
push @cmds, [cp => $_, "$_.old"];
}
run map { ($_, '&') } @cmds;
用bash可以直接wait,因为是在同一个shell里面调cp:
for x in `ls *.txt`
do
print "Copying $_ \n"
cp $_ $_.old &
done
wait
没有评论:
发表评论