2012-06-04 18 views
28

Merhaba ben öldürmek olamaz aşağıdaki süreç var. Ben aşağıdaki komutları veren denediCygwin'de bir işlemi nasıl öldürebilirim?</p> <p><img src="https://i.stack.imgur.com/WD11M.png" alt="The process to be killed."></p> <p>Ben windows xp 32 bit cygwin çalıştırıyorum:

i/bin yazarken

/bin/kill -f 4760 
/bin/kill -9 5000 
kill -9 5000 
kill 5000 

/i mesajı alıyorum 4760 -f öldürmek 'öldürmek: 4760 pid açılamadı'.

/bin/kill -9 yazdığımda 5000 mesajı alıyorum: 'kill: 5000: Böyle bir işlem yok'.

Bu sürecin neden öldürülemediğini anlamıyorum. Bir WINID'in,/bin/kill -f 4760 tarafından öldürülmemesi gerektiği için mi?

umut birisi :) işlemi büyük olasılıkla Windows'tan kilitli

+3

1. başlangıç ​​cygwin yazmak zorunda Sonra bu çizgiyi

alias killall="~/killall.sh" (point it to the correct location) 

eklemek/kill (kill, bash kabuğunda bir kabuk komutudur) 3./ bin/kill -f –

+0

çalışmalıdır. 1. Cygwin terminalini Administrator kullanıcısı olarak başlatın 2. Yol/bin/kill komutunu kullanın (kill, bash kabuğunda kill) 3./bin/kill -9 -f o zaman iş 4. Windows işlemlerinin öldürülemediği bir durumda olması (hata ayıklama gibi) mümkündür –

cevap

21

thx yardımcı olabilir. "PID XXX açamadı" hatası, buna işaret ediyor. onaylamak için pencereli öldürme deneyin NotTaskkill

taskkill /PID 4760 
+0

Görevkill/PID 4760 veya taskkill/PID 5000 yazdığımda hata alıyorum: 'HATA: Süreç' 4760 "bulunamadı." – Diemauerdk

+0

Ayrıca, Windows görevinde süreci göremiyorum. – Diemauerdk

+0

Bir görev listesi yaptığınızda görüyor musunuz | windows komut satırından grep "dscli"? – kjp

2
kill farklı gönderir sinyalleri idare edecek

Farklı Windows programlarını; Linux/Cygwin programlarının olduğu gibi onlarla başa çıkmak için hiç tasarlanmamışlardı. Bir Windows programını öldürmek için tek güvenilir yöntem, Görev Yöneticisi veya İşlem Gezgini gibi Windows'a özgü bir araç kullanmaktır.

Daha önce yapmadıysanız, Cygwin terminalinizi yönetici modunda çalıştırmanızla ilgili şansınız olabilir (kısayolunuza sağ tıklayın ve "Yönetici olarak çalıştır" ı seçin). @Donal Tobin tarafından sunulan

1

yöntem doğrudur:

kill -f <pid>

Ancak, yönetici olarak giriş yapmanız gerekmez.

8

Garip, Cygwin aşağıdaki çalışır:

ps -W | grep WindowsPooPoo | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done; 
+0

yapılamıyorsa, benim için önemli olan buradaki' kill 'in' -f' argümanıydı . Ekleme, "Böyle bir işlem yok" hatasını durdurdu. Teşekkürler! –

1

bu hat ile killall.sh adlı bir dosya oluşturun

ps -W | grep $1 | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done; 

Sonra yürütmek vermek: Örneğin

echo PID1 PID2 PID3 | xargs kill -f 

izinleri. senin .bash_profile olarak

chmod 777 killall.sh 

sadece "killall [name]" Yönetici kullanıcı 2. yol/bin olarak

İlgili konular