Taskkill / f bir işlemi öldürmez


140

Hata ayıklama için VS den deneysel bir örneğini başlattığımda ve hata ayıklamayı (bazen doğrudan ana VS'den) durdurduğumda, öldüremediğim bir zombile devenv.exe işlemi çalışıyor. Benim dlls birçok tutar.

Bu 64bit Win7 makinesinde Yönetici olarak oturum açtığım için, istediğim herhangi bir işlemi öldürebilirdim.

I tried (from Administrator command prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

Hiçbiri bir hata ve iade TASKKILLve PSKILLsüreci öldürme sona ermekte, iade başarı mesajları /. Ancak devenv.exe hala çalışıyor, PIDsabit kaldığı için yeniden ortaya çıkmıyor . Sadece sistemin yeniden başlatılmasıyla ortadan kalkar, bu harika bir çözüm değildir.

Not. LockHunter, devenv'in kendi üzerinde bir kilit olduğunu gösterir. Ve kilidini açamıyor.

Process Monitor, devenv'in bir tür 'Process Profiling' döngüsünde olduğunu gösterir

Yukarıdaki ekran görüntüsü, devenv'in bir tür 'İşlem Profili Oluşturma' döngüsünde olduğunu gösteren İşlem İzleyicisi'nin çıktısıdır (Düzgün görmek için üzerine sağ tıklayın ve yeni sekmede resmi aç'a tıklayın).

Windows'da böyle bir işlemi nasıl öldüreceğiniz hakkında bir fikriniz var mı?


Neden bir hata almadığınızı bilmiyorsunuz, ancak bir şeyi doğrulamak için: Bu komutları yükseltilmiş bir komut isteminden çağırdınız mı? Aksi takdirde, hesabınızda bulunmasına rağmen komutlar Yönetici ayrıcalıklarıyla çalışmaz. (Bu, açıkça başarısız olsalar bile başarılarını geri getirmelerine izin vermemelidir;))
SvenS

1
evet tüm komutlar Yönetici komut istemlerinden çalıştırıldı.
dushyantp

3
Bu tür bir soru superuser.com'da daha uygundur . Evet, orada oldukça iyi açıklamaları var. Bu bana yardımcı oldu.
Jarekczek

Yanıtlar:


81

eğer herhangi bir yumurtlanmışsa sürecinizi başarılı bir şekilde öldürmek için çocuk sürecini de öldürmelisiniz

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process

25
Benim durumumda iki başarı mesajı yazdırıyor, ancak süreç hala orada. Ne oluyor be?
CodeManX

3
bu çok kolay olurdu :) hayır, yardımcı olmuyor. Bence onun sorunu, çözülemeyen sürecin, ana işlemin sistem işlemi olduğu ve onu öldürmesinin sistemi kararsız hale getireceği bir döngüde (soket, i / o, borular ...) olmasıdır. Bu durumda ilk önce hangi döngünün işlemde olduğunu anlamak için tavsiye ederim. Sonra, bu döngü diğer uç nokta ile ağ alışverişi ise, o zaman sadece ağ kablosunu çıkarın veya önceden kurulmuş bağlantıyı çıkarın.

75
Ben olsun There is no running instance of the task o süreci gerçekten ölmek istemiyor!
demongolem

1
bugün hala bana yardım et, yine de "çocuğun çocuğunu" öldürmem gerekiyor: taskkill / f / T / PID 4172 ==> HATA: PID 4172 (PID 4724'ün alt süreci) ile işlem sonlandırılamadı. ==> taskkill / f / T / PID 4724 ==> Tamamlandı
Hoàng Uzun

1
Bu /Tanahtar için yay !
kayleeFrye_onDeck

34

Taskkill ve powershell (kill) yöntemleri benim için işe yaramadı; hala "Erişim Reddedildi" yazıyordu.

Bununla daha iyi şanslar vardı:

wmic process where "name='myprocessname.exe'" delete

6
HATA: Açıklama = Geçersiz sorgu
user1133275

51
Windows 10. Ayrıca: ERROR: Description = Access denied(Yönetici konsolunu kullanma btw)
FractalSpace

1
Teşekkür ederim! Benim sıkışmış npm için bir cazibe gibi çalıştı
Eduardo Elias Saléh

1
Şaşırtıcı, çok teşekkürler. Bunu bulmadan önce öldürmek için bir saat geçirdim
Derek MC

2
Bu benim durumumda hala çalışmıyor. Bir Visual Studio'nun işlemlerde takılı kalmasını sağlayın, komutu çalıştırın ve \\ MyMachine \ ROOT \ CIMV2 örneği siliniyor: Win32_Process.Handle = "6420", Örnek silme başarılı. Ama 5 dakika sonra hala görev yöneticisi listesinde VS devenv.exe işlemini görüyorum. Sanırım tek bir çözüm benim için tek çözüm değil.
wctiger

30

Windows Server 2008 R2'de aynı sorunu yaşadım ve hiçbir şey yardımcı olmadı, görev yöneticisi veya taskkill değil. Ancak, yönetici "kill -id pid" ile çalışırken windows powershell çalışır


3
Bu benim için çalıştı ... ama süreç gerçekten ortadan kalkmadan önce yaklaşık 30 saniyelik bir gecikme vardı, bu yüzden ilk başta başarısız gibi görünüyordu. Sahip olduğum durumda, sistem kaynakları düşükken prosedürel olarak başka bir uygulama tarafından oluşturulan bir süreçti. Process Explorer, kill process tree ve diğer bazı şeyler işe yaramadı, ancak bu hile yaptı.
J. Paulding

4
Benim için çalışmadı, vb süreç vb öldürmek için bir hata verdi
rboy

@rboy. Eski olduğunu biliyorum, ama başka birinin bunu yaptığımı görmesi durumunda. Powershell'i Yönetici olarak açın ve çalıştırın. İlk başta yönetici olarak çalıştırmadım ve bana yapamayacağımı söyledi. Sonra yönetici olarak çalıştırdım ve işe yaradı.
Chris Jones

Bu benim için yanlış çalışan bir Windows hizmeti ile Windows 10 üzerinde çalıştı.
CMD'yi

5
2-3 dakikadan fazla bekledikten sonra bile benim için şans yok. komutun hiçbiri şu anda benim için çalışmıyor
Tarun Gupta

28

Yeniden başlatma benim için işe yarayan tek çözüm (şimdiye kadar).

Her zaman mükemmel olan Mark Russonovich, unkillable süreçleri için iyi bir açıklamaya sahiptir.

Özetlemek gerekirse, düzgün bir şekilde işlenmemiş işlenmemiş G / Ç isteklerinden kaynaklanıyor olabilir (programınızın muhtemelen erişmiş olduğu bir aygıt sürücüsü tarafından)

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx


1
Yaptığım şey kapatıldı, sonra yeniden başlatın.
Gellie Ann

10

Geç olduğunu biliyorum ama taskkill /im devenv.exe /t /fçalışmalı. /tÇok çocuk süreçleri öldürür.


12
Bu benim için işe yaramıyor. Başarılı olduğunu söylüyor, ancak süreç hala ortaya çıkıyor.
Scott Whitlock

2
Ben de benzer bir sorunla karşı karşıyayım ama microsoft ftp servisi ile sonlandırıldı diyor ama çalışmaya devam
edemiyorum

1
/IM devenv.exeBen kullanmak yerine, /PID 17888o zaman temelde 17888 17880 ve 17880 bir çocuk olduğunu söyledi ve bu yüzden öldürülemez dedi.
Jesse Chisholm

Bu işe yarar ancak yönetici modundan cmd kullandığınızdan emin olun.
karan

Disk erişiminin yaklaşık% 100'ünü kullanan Windows Defender işlemini silmeye çalışırken benim için çalışmadı ..
David Spector

7

Benim durumumda, bu sorunla savaştıktan birkaç gün sonra (VirtualBox ve µTorrent işlemlerine oluyor), Windows Update yaması KB4338818 (Windows 7 x64) tarafından kışkırtılan bir ağ sürücüsü sorunundan kaynaklandığını keşfettim . Bu yamayı kaldırdıktan sonra her şey normale döndü. Sadece başkaları için yararlı olabileceğini düşündüm.


Güncellemenin buna neden olduğunu nasıl keşfettiniz? Sanırım bunu asla keşfedemezdim. ^^ '
das Keks

1
Sorun ortaya çıkmadan önce makinemde değişen tek şeyin güncellemeler olduğunu fark ettim, bu yüzden son güncellememin hangisi olduğunu kontrol ettim ve sürüm notlarını okudum. Şüpheli görünüyordu ve sorunun çözülüp çözülmediğini görmek için geri döndüm. Sonra bazı Apache forumlarında okudum, hatırlamıyorum, bu güncellemenin onlar için de sorun yarattığını hatırlıyorum. BTW: 2018 / Ağu / 10'dan itibaren Son Windows Güncellemesi KB4338818 ile ilgili sorunu çözüyor, böylece tekrar yüklenebilir.
Danita

6

Ben sırayla öldürmek istediğim sürece bağımlı explorer.exe öldürerek bu sorunu arka sorunu çözmek. Bu süreçler kilitli olabilir kanca ile süreçleri açık eğer de olabilir sanırım.


1
Ben explorer.exe öldürme ve yeniden başlatma denedim ve bu işe yaramadı.
Scott Whitlock

Ben taskkill /IM "process_name" /T /Fyanıtın bir parçası yaptım : (child process of PID xxxx)bu yüzden bu PID kontrol ve explorer.exe, yeniden başlatma benim sorun çözüldü.
Facundo Colombier

5

Bunu birkaç kez gördüm ve tek çözümüm yeniden önyükleme oldu.

PowerShell'i kullanmayı deneyebilirsiniz: Get-Process devenv | öldürmek

Ancak diğer yöntemler başarısız olursa, muhtemelen bu da olacaktır. :-(


Ne yazık ki evet! Benim için de böyle. hiç çözüm buldun mu?
manocha_ak

Win10'da benim için çalışmadı: PS D: \ work \ Projects \ libtiff.net_bin-2.4.560.0> Get-Process NSPRip | PS D öldür: \ work \ Projects \ libtiff.net_bin-2.4.560.0> echo $? Gerçek PS D: \ work \ Projects \ libtiff.net_bin-2.4.560.0> Get-Process NSPRip NPM (K) PM (K) WS (K) CPU'ları Kimliği SI ProcessName ------- - ---- ----- ----- ------ - - ----------- 0 0 56 20 0.00 41236 1 NSPRip
zhaorufei

4

Yerel tskill <pid>(veya tskill.exe <pid>) başka hiçbir yerel yanıtın bulunmadığı Windows 10'da benim için çalıştı.

Benim durumumda, görev yöneticisinin 'Görevi Sonlandır'ın çalıştığı bazı chrome.exe süreçlerim vardı, ama ne ne taskkill /F /T /PID <pid>de powershell'skill -id <pid> çalıştı (her iki kabuk bile yönetici olarak çalışır).

Bu, taskkilldaha iyi bir api-ve-does-more sürümü olduğu iddia edildiği gibi çok garip tskill.

Benim durumumda, belirli bir görevin tüm örneklerini öldürmek için FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i


1
Bu benim için işe yaradı, diğerlerinin hiçbiri işe yaramadığında.
Teşekkürler

3
Benim için çalışmadı. GotEnd Process failed for 10576:Access is denied.
twasbrillig

Benim için de aynı şey oluyor. Ne anlayamıyorum, neden? taskkill'in tskill ile aynı olması gerekiyordu [daha iyi, dokümantasyonda vs.]. Birisi cevap verebilirse?
dvlper

1
Windows 10'da tskill yok gibi görünüyor
raffaem

Disk erişiminin yaklaşık% 100'ünü kullanan Windows Defender işlemini silmeye çalışırken benim için çalışmadı ..
David Spector

3

Burada bir şey önereceğim çünkü son zamanlarda aynı sorunla karşılaştım ve cevaplardaki olası her şeyi denedim ama hiçbir şey işe yaramadı. Gibi hatalar alıyordum

HATA: PID 23908 ile işlem sonlandırılamadı. Sebep: Görevin çalışan bir örneği yok.

komut istemini kullanarak. Güç kabuğu da yardımcı olmadı. yalnızca komutları yürütür ve işlem devam ederken hiçbir yanıt gelmez.

İlişkili '.exe' dosyasını silmeye karar verene kadar. Dosya etkin olduğundan, pencereler silinmeye izin vermezdi, ancak bu uyarı penceresinde bana öldürmek istediğim görevi yerine getiren sürecin adını verdi. Orijinal görevi ve dolayısıyla buggy sürecini öldürebildim.

Çözümlerin hiçbiri işe yaramazsa kesinlikle denemeye değer.


3

İle şu sonuçları alıyordum taskkill

>taskkill /im "MyApp.exe" /t /f
ERROR: The process with PID 32040 (child process of PID 54176) could not be terminated.
Reason: There is no running instance of the task.

>taskkill /pid 54176  /t /f
ERROR: The process "54176" not found.

Benim için işe yarayan sistemlerin pskill

>pskill.exe -t 32040

PsKill v1.15 - Terminates processes on local or remote systems
Copyright (C) 1999-2012  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 32040 killed.

Sen alabilirsiniz pskilldan Sysinternal canlı sitede


2
Benim için çalışmadı. Var:Unable to kill process 10576: Access is denied.
twasbrillig

1
Yönetici haklarına sahip bir komut kabuğundan yapmanız gerekebilir?
BenV136

2

Bazı Exe dosyaları Bazı hizmetlere bağlıdır,

Yani ilgili hizmeti bulup önce durdurmanız gerekir.


4
bunun nasıl çözüleceğine dair ipuçları var mı? Taskmanager üzerinde devenv.exe karşılık gelen herhangi bir hizmet göstermiyor Şu anda sorunu yeniden oluşturmaya çalışıyorum, bir kez bitti ben tutarak olabilir hizmetlere kazmak için süreç explorer kullanır.
dushyantp

2

Aynı sorun, VirtualBox'ta Java işlemleri için de başıma geldi.

Benim durumumda, Windows Update düzeltme eki KB4338818'deki (Windows 7 x64) bir hatadan kaynaklanıyordu.

Aşağıdakileri yaparak çözdüm:

  • Windows Update düzeltme eki KB4338818'i kaldırın
  • Windows Update düzeltme eki KB4338821'i yükleyin

2

Yönetici olarak çalışmak benim için çalışıyor:

1.search cmdpencerelerde

2. sağ tıklatın cmd"Yönetici olarak çalıştır" olarak seçin

3.netstat -ano | findstr :8080

4.taskkill/pid (your number) /F

Benim sonucum


Aşağıdaki gibi bir hata alırsanız: 'nestat' dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmaz. komutu sadece nestat yerine C: \ Windows \ system32 \ netstat.exe olarak çalıştırmanız gerekebilir
sk8asd123

2

Benim için, ana yöntemini öldürmem gerekiyor. Üst süreci anlayın ve öldürün

taskkill /IM "parent_process_name.exe" /T /F

1

Code :: Blocks gdb ile hata ayıklama işlemleri ile ilgili sorun var. Kaynaklarınızın kapsamı dışında yer alan talimatlara yanlışlıkla girerken (kaynak veya sistem işlevleri olmayan kütüphaneler olarak) ne Code :: Blocks ne de Task Manager'dan hata ayıklamayı bırakamazsınız.

Ben Code :: Blocks gdb uygulanmasında bir hata olduğunu düşünüyorum, ama aynı zamanda gdb olabilir;)

Çözümüm:

taskkill /F /IM process.exe /T

Bu, üst sürecin PID'sini gösterir. Şimdi ebeveyni öldür:

taskkill /PID yyyy

Her ikisi de gitti.

Bitti.


1
Üst PID'nin mevcut olmaması mümkündür.
user1133275

Lütfen gdb ve Code :: Blocks'un ne olduğunu belirtin;)
mavimsi

3
Uyarı: Ana işlem daha services.exesonra ana öğeyi öldürüyorsa
MM

1

eğer taskkill /F /T /PID <pid>işe yaramazsa. Terminalinizi açmayı deneyinRun as Administrator .

cmdWindows menüsünde arama yapın ve sağ tıklayın Run as Administrator, ardından komutu tekrar çalıştırın. Bu benim için çalıştı.


1

Ücretsiz sysinternals paketini indirirseniz, bu tür görevler için iyi çalışan bir pskill.exe uygulaması vardır: pskill.exe "process_name" Bu işlemlerde -t seçeneğini kullanmadan da çalışır.


1

Yükseltilmiş bir powershell'de aşağıdakileri yaptım:

PS C:\Windows\system32> wmic.exe /interactive:off process where "name like `'java%'`" call terminate

komut Çıkışı:

Executing (\\SRV\ROOT\CIMV2:Win32_Process.Handle="3064")->terminate()
Method execution successful.

Çıkış Parametreleri:

instance of __PARAMETERS
{ReturnValue = 0; };

Şurada bazı sözdizimi bilgileri aldım: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb


Bu gerçekten işe yaradı, cevap kabul edilmelidir. Teşekkürler
John Newman

0

NirSoft'un NirCmd işini benim için yaptı:

nircmd killprocess "process name.exe"

killprocess man sayfası burada .


0

3000 numaralı bağlantı noktasında bir düğüm uygulaması başlattığım aynı sorunla karşı karşıya kaldım ve düzgün bir şekilde kapanmadı ve yeniden başlattıktan sonra bile işlem devam etti.

Yönetici modunda çalışan taskkill veya powershell komutlarının hiçbiri benim için çalışmadı.

MS Process Expoler> Özellikler> Görüntü> Geçerli dizini (proje dizinim olması gerekiyordu) kullandım.

Son olarak, SafeMode içinde yeniden başlatmak ve proje klasörünü yeniden adlandırmak ve yeniden başlatmak zorunda kaldı. 3000 numaralı limanı tüketen Düğüm işlemleri kendini öldürdü.


0

Ben aynı sorunu vardı, başka bir sitede bu düzeltmeyi buldum: powershell.exe "Get-Process processname | Stop-Process" benim için çalıştı ve ben yeniden başlatmak zorunda aynı tekne vardı, / T işe yaramaz .


0

De Francis bahsedilen bazı işlem nedeniyle sona edilemez

"işlenmemiş G / Ç istekleri"

Benim deneyimime göre ben oyun çökmesine ve kapatmak mümkün olmayacak buggy grafik sürücüsü ile ilgili , son çare grafik sürücüsü devre dışı bıraktı ve süreç sonunda gitti.

Uygulamanız için bekliyorsa kaynak gelen sürücü wifi veya grafik denemede gibi devre dışı bırakılması onları aygıt yöneticisi , onlar asıldı nerede olduğunu görmek için biraz derine kazmak gerekir.

Bu elbette önerilmez ama bazen artık kaybedecek bir şeyiniz yok.


0

Aynı sorunu yaşadım ve burada birçok kişi normal Kill komutlarının hiçbirinin işe yaramadığını söyledi. Sorun dosyam, Uzak Masaüstü Sunucusu'ndaki bir kullanıcı tarafından ağ paylaşımından çalıştırılan bir yürütülebilir dosyaydı. Birden fazla paylaşılan kullanıcı ile bir iş günü içinde yeniden başlatmak kolay bir şey değildir. Kullanıcı oturumu kapattığında bile Görev Yöneticisi'nde hala listelenmişti. Klasörün paylaşıldığı sunucuya gönderdim ve Bilgisayar Yönetimi -> Oturumlar oturumu kapatmış olmasına rağmen oturumu bu RDP sunucusundan hala açık olan kullanıcıyı buldu. -> Oturumu Kapat'a sağ tıkladığınızda dosya kilidi serbest bırakıldı.

Bana taksileri neden bitiremediğimi dövüyor. Dosyayı silmeye çalıştığımda başlangıçta aldığım hata iletisi "Dosya Sistem'de açık olduğundan işlem tamamlanamıyor"

Umarım bu başka birine yardımcı olur.


0

Benim durumumda, buradaki çözümlerin hiçbiri işe yaramadı. Sonunda söz konusu programın USB ses arayüzlerini yoklamaya çalışırken dondurulduğunu gördüm. Bu yüzden bağladığım bir USB DAC'yi çıkardım ve sürpriz bir şekilde uygulama hemen kapandı. Francis'in yanıtı, bunun neden düzgün bir şekilde çözülemediğini (programınızın muhtemelen erişmiş olduğu bir aygıt sürücüsü tarafından) işlenmemiş G / Ç isteklerinin bir sonucu olabileceğini belirtiyor.

Programın donduğunda gerçekten ne yaptığına bağlı olduğunu düşünüyorum, ancak diğer çözümlerin hiçbiri çalışmıyorsa, nedenlerinden biri olup olmadığını görmek için tüm USB cihazlarını çıkarmayı deneyin.


-3

Yönetici sorunu çözdüğü için CMD'yi çalıştırın


Lütfen CMD'yi Yönetici olarak çalıştırdıktan sonra ne yapmanız gerektiği hakkında daha fazla bilgi verin.
Santiago, SO

-8
  1. görev yöneticisini aç
  2. hizmetler sekmesini seç
  3. öldürmek istediğiniz işlemi seçin (devenv.exe) ve hizmetler düğmesine tıklayın
  4. işlem sırasında özellikleri seçin ve devre dışı bırakın ...
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.