Nasıl birçok alt işlemler ve çıkış kodu=! bitirmek dönmek için bekleyin bash 0 herhangi bir alt işlemi kod ile biter !=0?
Nasıl birçok alt işlemler bu komut kökenli ve çıkış kodu=! bitirmek dönmek için bekleyin bir bash script 0, alt işlemleri herhangi bir kod ile biter !=0 ?
Basit komut:
#!/bin/bash
for i in `seq 0 9`; do
doCalculations $i &
done
wait
Yukarıdaki komut tüm 10 olurken, alt işlemleri için bekler, ama her zaman çıkış durumu 0 (help wait
) verecektir. Nasıl bir olurken, alt işlemleri çıkış durumları keşfetmek ve çıkış olacaktır Bu komut dosyasını değiştirmek, alt işlemleri herhangi bir kod ile bittiğinde kod 1=! miyim 0?
Bu alt işlemler en PID toplama daha bunun için daha iyi bir çözüm var, sırayla onları bekle ve çıkış durumları sum değil mi?
CEVAP
wait
aynı zamanda (isteğe bağlı olarak) beklemek sürecin PID alır ve $! son komut planda başlattı (PID).
Döngünün her alt süreç bir diziye kökenli PID saklamak için değiştirin ve sonra döngü tekrar her PID bekliyor.
Bash: eğer herhangi bir komut başarısı...
Nasıl jQuery bir Ajax çağrısı için bek...
Nasıl eğer o ölürse bir yeniden başlat...
Nasıl parçacığı ile bitirmek için bekl...
Nasıl Python 2.7 alt işlemi çıkış gizl...