SORU
29 HAZİRAN 2009, PAZARTESİ


BEKLEYİN ve herhangi bir işlem "bitirmek"

Herhangi bir işlemin tamamlanması için beklemeniz için herhangi bir bash özelliği var mı? wait Bu komut yalnızca bir alt süreçleri bitirmesini beklemek sağlar. Eğer herhangi bir işlemi tamamlamak için beklemek için herhangi bir yolu varsa bilmek herhangi bir komut geçmeden önce istiyorum.

Bunu mekanik bir şekilde ama eğer bash özelliği ise orada olduğunu bilmek istiyorum aşağıdaki gibidir.

while ps -p `cat $PID_FILE` > /dev/null; do sleep 1; done

CEVAP
14 Temmuz 2009, Salı


Yerleşik yok. İşe yarar bir çözüm için: bir döngü içinde kill -0 kullanın

anywait(){

    for pid in "$@"; do
        while kill -0 "$pid"; do
            sleep 0.5
        done
    done
}

Belirtildiği gibi birkaç yorumcu, eğer sen de istersen bekle işleyen gerekmez ayrıcalığı için sinyalleri göndermek için bulabilirsiniz başka bir yol tespit ederse bu süreç çalışan değiştirmek için kill -0 $pid Ara. Diğer sistemlerde Linux üzerinde, test -d "/proc/$pid" çalışmaları,* *8 (varsa) veya ps | grep ^$pid gibi bir şey kullanmanız gerekebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • KittiesMama

    KittiesMama

    10 AĞUSTOS 2008