Birçok arka plan komutunu başlatacak bir komut dosyası oluşturmaya çalışıyorum. Her arka plan komutu için dönüş kodunu almam gerekiyor.
Aşağıdaki komut dosyasını deniyorum:
#!/bin/bash
set -x
pid=()
return=()
for i in 1 2
do
echo start $i
ssh mysql "/root/test$i.sh" &
pid[$i]=$!
done
for i in ${#pid[@]}
do
echo ${pid[$i]}
wait ${pid[$i]}
return[$i]=$?
if [ ${return[$i]} -ne 0 ]
then
echo mail error
fi
done
echo ${return[1]}
echo ${return[2]}
Benim sorunum bekleme döngüsü sırasında, ilk pid önce ikinci pid bitirmek, ben dönüş kodu almak mümkün olmayacaktır.
Bekleme pid1 pid2 çalıştırabileceğini biliyorum, ama bu komutla tüm komutların dönüş kodunu alamıyorum.
Herhangi bir fikir ?