2013-06-11 23 views
10

Çalışmakta olan tüm aygıt işlemlerini silmek istiyorum. Bunu kullanıyorum: Bir komut dosyasında bu kullanıyorum ve bazen işlem çalışmıyorsa ve çalışan bu adı taşıyan hiç süreçler olmadığını belirten senaryomu dururVarsa bir işlemi durdurun

sudo killall instruments

.

Belirli bir işlemin çalışıp çalışmadığını nasıl kontrol edebilirim? Benim durumumdaki aletler.

+2

'ps -ax | grep aletleri | grep -v grep | wc -l' olmayan olacağını adında 'aletleri 'ile bir süreç varsa sıfır. –

cevap

8
sudo killall instruments 2>/dev/null 

yeterli değil mi?

+0

"killall" çok yararlı =) – IvanM

6

Sen komut sonlandırma ise <proc>

if pgrep instruments &> /dev/null ; then sudo killall instruments ; fi
+4

Eğer 'pgrep' kullanıyorsanız, pus ' –

+0

@ glennjackman'ı da kullanabilir, teşekkürler! Az önce bir süreci nasıl arayabileceğimi, isminin “killall” ile bir süreci öldürdüğünü ve OP'nin bunu bildiğini gösterdim. – giordano

19

adında bir süreç aramak için pgrep <proc> kullanabilirsiniz, büyük olasılıkla bir komut başarısız olduğunda çıkmak için, set -e sağladı.

Eğer durumu hakkında umurumda değil, sadece komutuna || true ekleyebilirsiniz:

sudo killall instruments || true