シェルの逐次実効、バックグランド実効

#---------------------------------------- test.pl
for(my $i = 0; $i < 10; $i++){
    print($ARGV[0]."_$i\n");
    sleep(rand(3));
}

逐次実効

#---------------------------------------- test_tikuzi.sh
#逐次実効(waitで終了を待つ)
perl test.pl AAA
wait
perl test.pl BBB
wait
perl test.pl CCC
wait

バックグラウンド実効

#---------------------------------------- test_back.sh
#!/bin/bash

#バックグランドで実効(末尾に&をつける)
perl test.pl AAA &
perl test.pl BBB &
perl test.pl CCC &

#上の3つのプロセス終了を待って実効する
wait 
echo "AAA and BBB and CCC finish."

バックグランド実効の結果

#---------------------------------------- test_back.sh
#!/bin/bash

#バックグランドで実効(末尾に&をつける)
perl test.pl AAA &
pid1=$!
perl test.pl BBB &
pid2=$!
perl test.pl CCC &
pid3=$!

#結果を確認
wait $pid1
echo $?
wait $pid2
echo $?
wait $pid3
echo $?