Taskkill / f không giết một tiến trình


139

Khi tôi khởi động một phiên bản Thử nghiệm của VS từ VS để gỡ lỗi và dừng gỡ lỗi (đôi khi trực tiếp từ VS gốc), một quá trình devenv.exe zombile vẫn chạy mà tôi không thể giết được. Nó giữ cho nhiều dlls của tôi.

Khi tôi đăng nhập vào máy Win7 64 bit này với tư cách Quản trị viên, tôi sẽ có thể giết bất kỳ quy trình nào tôi muốn.

I tried (from Administrator command prompt):

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

Không trả lại bất kỳ lỗi nào TASKKILLPSKILLtrả lại các thông báo thành công về việc chấm dứt / hủy quá trình. Nhưng devenv.exe vẫn chạy, nó không được sinh ra như PIDlà hằng số. Nó biến mất chỉ khi khởi động lại hệ thống mà không phải là một giải pháp tuyệt vời.

Ghi chú. LockHunter cho thấy devenv đã có một khóa trên chính nó. Và nó không thể mở khóa nó.

Trình giám sát quy trình cho thấy devenv nằm trong một số loại vòng lặp 'Hồ sơ quy trình'

Ảnh chụp màn hình ở trên là đầu ra của Trình giám sát quy trình hiển thị devenv ở một loại vòng lặp 'Hồ sơ quy trình' (Nhấp chuột phải vào nó và nhấp vào hình ảnh mở trong tab mới để xem đúng).

Bất kỳ ý tưởng làm thế nào để giết quá trình như vậy trên Windows?


Không biết tại sao bạn không gặp lỗi, nhưng để xác minh một điều: Bạn đã gọi các lệnh này từ dấu nhắc lệnh nâng cao chưa? Nếu không, các lệnh sẽ không chạy với đặc quyền Quản trị viên, mặc dù tài khoản của bạn có chúng. (Điều này không cho phép họ trở lại thành công khi họ thất bại rõ ràng;))
SvenS

1
có tất cả các lệnh đã được chạy từ lời nhắc lệnh của quản trị viên.
dushyantp

3
Loại câu hỏi này phù hợp hơn trên superuser.com . Yup, họ có lời giải thích khá tốt ở đó. Điều này đã giúp tôi.
Jarekczek

Câu trả lời:


81

bạn cũng phải giết quá trình con nếu có bất kỳ sinh sản nào để giết thành công quá trình của bạn

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process

25
Nó in hai thông điệp thành công trong trường hợp của tôi, nhưng quá trình vẫn còn đó. Cái quái gì thế?
CodeManX

3
nếu điều đó thật dễ dàng :) không, nó không có ích. Tôi nghĩ vấn đề của anh ta là do quy trình không thành công nằm trong một số vòng lặp (ổ cắm, i / o, đường ống ...) trong đó quy trình chính là quy trình hệ thống và giết chết nó sẽ làm cho hệ thống không ổn định. Trong trường hợp đó, trước tiên tôi sẽ giới thiệu để hiểu vòng lặp là quy trình. Sau đó, nếu vòng lặp đó là trao đổi mạng với điểm cuối khác, thì chỉ cần rút cáp mạng hoặc ngắt kết nối đã được thiết lập.

75
Tôi nhận được một There is no running instance of the task quá trình đó thực sự không muốn chết!
demongolem

1
hôm nay vẫn giúp tôi, mặc dù tôi cũng phải giết "đứa trẻ của đứa trẻ": taskkill / f / T / PID 4172 ==> ERROR: Không thể chấm dứt quá trình với PID 4172 (quy trình con của PID 4724). ==> taskkill / f / T / PID 4724 ==> Xong
Hoàng Long

1
Yay cho /Tchuyển đổi dưới đề cập !
kayleeFrye_onDeck

34

Các phương thức taskkill và powershell (kill) không hoạt động với tôi; nó vẫn nói "Truy cập bị từ chối".

Tôi đã có may mắn hơn với điều này:

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

6
LRI

51
Windows-10. Ngoài ra: ERROR: Description = Access denied(Sử dụng bảng điều khiển dành cho quản trị viên btw)
FractalSpace

1
Cảm ơn bạn! Điều đó đã làm việc như một cơ duyên cho
npm

1
Thật tuyệt vời, cảm ơn rất nhiều. Đã dành một giờ để giết trước khi tôi tìm thấy điều này
Derek MC

2
Điều này vẫn không hoạt động trong trường hợp của tôi. Có một Visual Studio bị kẹt trong các quy trình, đã chạy lệnh và thông báo Xóa cá thể \ MyMachine \ ROOT \ CIMV2: Win32_Process.Handle = "6420", xóa trường hợp thành công. Nhưng sau 5 phút tôi vẫn thấy quá trình VS devenv.exe trong danh sách trình quản lý tác vụ. Tôi đoán không có gì ngoài khởi động lại là giải pháp duy nhất cho tôi.
wctiger

30

Chỉ có vấn đề tương tự trên Windows Server 2008 R2 và không có gì giúp được, không phải là taskmanager hay taskkill. Nhưng, windows powershell chạy khi quản trị viên làm việc với "kill -id pid"


3
Điều này làm việc cho tôi ... mặc dù dường như có khoảng 30 giây chậm trễ trước khi quá trình thực sự biến mất, vì vậy ban đầu nó dường như thất bại. Trong trường hợp tôi có nó, đó là một quy trình được tạo ra theo thủ tục bởi một ứng dụng khác trong khi hệ thống thiếu tài nguyên. Process Explorer, giết cây quy trình và một số thứ khác không hoạt động, nhưng điều này đã tạo ra mánh khóe.
J. Paulding

4
Không làm việc cho tôi, đã cho tôi một lỗi không thể giết quá trình, v.v.
rboy 24/2/2017

@rboy. Tôi biết nó cũ, nhưng chỉ trong trường hợp người khác thấy điều này làm những gì tôi đã làm. Mở powershell với tư cách Quản trị viên và sau đó chạy nó. Lúc đầu, tôi chạy nó không phải là quản trị viên và nó nói với tôi rằng tôi không thể làm điều đó. Vì vậy, sau đó tôi chạy nó như là quản trị viên và nó đã làm việc.
Chris Jones

Điều này làm việc cho tôi trên Windows 10 với dịch vụ Windows hoạt động sai. Đã dùng thử CMD, trong trường hợp này PowerShell là công cụ phù hợp
ThetaSinner

5
Không có may mắn cho tôi ngay cả sau khi chờ đợi hơn 2-3 phút. Hiện tại không có lệnh nào làm việc cho tôi
Tarun Gupta

28

Khởi động lại là giải pháp duy nhất hiệu quả với tôi (cho đến nay).

Mark Russonovich xuất sắc chưa từng có một lời giải thích tốt cho các quy trình không thành công.

Tóm lại, hoàn toàn có thể là do các yêu cầu I / O chưa được xử lý chưa được xử lý đúng cách (bởi trình điều khiển thiết bị mà chương trình của bạn có thể truy cập)

http://bloss.technet.com/b/markrussinovich/archive/2005/08/17/unkillable- Processes.aspx


1
Những gì tôi đã làm là tắt nó đi, sau đó khởi động lại nó.
Gellie Ann

9

Tôi biết là muộn nhưng taskkill /im devenv.exe /t /fnên làm việc. các /tgiết tiến trình con quá.


12
Điều này dường như không làm việc cho tôi. Nó nói rằng nó thành công, nhưng quá trình vẫn xuất hiện.
Scott Whitlock

2
Tôi cũng đang đối mặt với một vấn đề tương tự nhưng với dịch vụ
ftoft

1
Nếu thay vì /IM devenv.exetôi sử dụng /PID 17888thì về cơ bản, lỗi nói rằng 17888 là con của 17880 và 17880 không chạy và vì vậy không thể bị giết.
Jesse Chisholm

Điều này hoạt động nhưng đảm bảo bạn đang sử dụng cmd từ chế độ quản trị viên.
karan

Không hoạt động với tôi, đã cố xóa quy trình Windows Defender sử dụng gần 100% quyền truy cập đĩa ..
David Spector

7

Trong trường hợp của tôi, sau vài ngày đấu tranh với vấn đề này (nó đã xảy ra với các quy trình VirtualBox vàTHERTorrent), tôi phát hiện ra nguyên nhân là do sự cố trình điều khiển mạng, do bản vá Windows Update KB4338818 (Windows 7 x64) gây ra. Sau khi gỡ cài đặt bản vá đó, mọi thứ trở lại bình thường. Tôi chỉ nghĩ rằng nó có thể hữu ích cho những người khác.


Làm thế nào bạn phát hiện ra rằng bản cập nhật gây ra nó? Tôi nghĩ rằng tôi sẽ không bao giờ phát hiện ra điều đó. ^^ '
das Keks

1
Tôi nhận ra điều duy nhất thay đổi trong máy của mình trước khi vấn đề trở nên rõ ràng là các bản cập nhật, vì vậy tôi đã kiểm tra xem đó là bản cập nhật cuối cùng của tôi và đọc ghi chú phát hành. Nó có vẻ nghi ngờ và tôi quay lại để xem vấn đề đã được giải quyết chưa, đó là vấn đề. Sau đó tôi đọc trên một số diễn đàn Apache, đừng nhớ rằng, bản cập nhật này cũng gây rắc rối cho họ. BTW: Bản cập nhật Windows cuối cùng kể từ 2018/10/8/10 đã khắc phục sự cố với KB4338818, do đó, nó có thể được cài đặt lại.
Danita

6

Tôi có thể giải quyết vấn đề của mình khi sắp xếp lại vấn đề này bằng cách giết explorer.exe, do đó nó bị nghiện quá trình tôi muốn giết. Tôi đoán điều này cũng có thể xảy ra nếu các quá trình mở giao diện thông qua hook có thể bị khóa.


1
Tôi đã thử giết và khởi động lại explorer.exe và nó không hoạt động.
Scott Whitlock

Khi tôi thực hiện taskkill /IM "process_name" /T /Fmột phần của phản hồi là: (child process of PID xxxx)vì vậy tôi đã kiểm tra PID đó và nó là explorer.exe, khởi động lại nó đã giải quyết vấn đề của tôi.
Facundo Colombiaier

5

Tôi đã thấy điều này một vài lần và giải pháp duy nhất của tôi là khởi động lại.

Bạn có thể thử sử dụng PowerShell: Get-Process devenv | giết chết

Nhưng nếu các phương pháp khác thất bại, điều này có lẽ cũng sẽ như vậy. :-(


Đáng buồn là có! Đối với tôi cũng là trường hợp đó. bạn đã bao giờ nhận được bất kỳ giải pháp?
manocha_ak

Không hoạt động với tôi trên win10: PS D: \ work \ Project \ libtiff.net_bin-2.4.560.0> Get-Process NSPRip | giết PS D: \ work \ Project \ libtiff.net_bin-2.4.560.0> echo $? Đúng PS D: \ work \ Project \ libtiff.net_bin-2.4.560.0> Nhận xử lý NSPRip Xử lý NPM (K) PM (K) WS (K) CPU (s) Id SI ProcessName ------- - ---- ----- ----- ------ - - ----------- 0 0 56 20 0,00 41236 1 NSPRip
zhaorufei

4

Bản địa tskill <pid>(hoặc tskill.exe <pid>) làm việc cho tôi trên Windows 10 nơi không có câu trả lời gốc nào khác.

Trong trường hợp của tôi, tôi đã có một số quy trình chrome.exe mà 'Tác vụ kết thúc' của trình quản lý tác vụ đang hoạt động, nhưng taskkill /F /T /PID <pid>cũng không kill -id <pid>hoạt động của powershell (ngay cả với cả trình bao chạy với tư cách quản trị viên).

Điều này là rất lạ vì taskkillđược coi là một phiên bản tốt hơn của api-and-does-more tskill.

Trong trường hợp của tôi để giết tất cả các trường hợp của một nhiệm vụ nhất định tôi đã sử dụng FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i


1
Điều này làm việc cho tôi, khi không ai trong số những người khác đã làm. Thx: D
jk1990

3
Không làm việc cho tôi. CóEnd Process failed for 10576:Access is denied.
twasbrillig

Xảy ra tương tự cho tôi. Những gì tôi không thể hiểu, là tại sao? taskkill được coi là giống như tskill [khá hơn, trong tài liệu, v.v.]. Nếu ai đó có thể trả lời?
dvlper

1
Có vẻ như không có tskill trong Windows 10
raffaem

Không hoạt động với tôi, cố gắng xóa quy trình Windows Defender sử dụng gần 100% quyền truy cập đĩa ..
David Spector

3

Tôi sẽ đề xuất một cái gì đó ở đây bởi vì gần đây tôi đã phải đối mặt với cùng một vấn đề và tôi đã thử mọi điều có thể trong các câu trả lời nhưng không có gì hiệu quả. Tôi đã nhận được lỗi như

LRI: Không thể chấm dứt quá trình với PID 23908. Lý do: Không có phiên bản đang chạy của tác vụ.

sử dụng dấu nhắc lệnh. Vỏ điện cũng không hữu ích. nó chỉ đơn giản là thực thi các lệnh và không có phản hồi với tiến trình vẫn đang chạy.

Cho đến khi tôi quyết định xóa tập tin '.exe' liên quan. Vì tệp đã được kích hoạt, các cửa sổ sẽ không cho phép xóa, nhưng trong cửa sổ cảnh báo đó, nó cho tôi biết tên của quá trình đang thực hiện nhiệm vụ mà tôi muốn giết. Tôi đã có thể giết nhiệm vụ ban đầu và do đó quá trình lỗi.

Nó chắc chắn là giá trị thử nếu không có giải pháp nào hoạt động.


3

Tôi đã nhận được kết quả như sau với 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.

Những gì làm việc cho tôi là sysiternal 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.

Bạn có thể lấy pskilltừ trang web trực tiếp của sysiternal


2
Không làm việc cho tôi. Có:Unable to kill process 10576: Access is denied.
twasbrillig

1
Bạn có thể cần phải làm điều đó từ shell lệnh với quyền quản trị?
BenV136

2

Một số tệp tin Phụ thuộc vào một số dịch vụ,

Vì vậy, bạn cần tìm dịch vụ tương ứng và dừng lại đầu tiên.


4
bất kỳ gợi ý về làm thế nào để làm việc này? Trên taskmanager, nó không hiển thị bất kỳ dịch vụ nào tương ứng với devenv.exe Ngay bây giờ tôi đang cố gắng tạo lại vấn đề, sau khi thực hiện xong tôi sẽ sử dụng trình thám hiểm quy trình để đào sâu vào các dịch vụ có thể giữ nó.
dushyantp

2

Vấn đề tương tự cũng xảy ra với tôi trong VirtualBox đối với các quy trình Java.

Trong trường hợp của tôi, đó là do lỗi trong bản vá Windows Update KB4338818 (Windows 7 x64).

Tôi đã giải quyết nó bằng cách làm như sau:

  • Gỡ cài đặt bản vá Windows Update KB4338818
  • Cài đặt bản vá Windows Update KB4338821

2

Chạy như một quản trị viên làm việc cho tôi:

1. tìm kiếm cmdtrong windows

2. nhấp chuột phải vào cmdchọn là "Chạy với tư cách quản trị viên"

3.netstat -ano | findstr :8080

4.taskkill/pid (your number) /F

Kết quả của tôi


Nếu bạn gặp lỗi, chẳng hạn như: 'Nestat' không được nhận dạng như một lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó. bạn có thể cần chạy lệnh dưới dạng C: \ Windows \ system32 \ netstat.exe thay vì chỉ Nestat
sk8asd123

2

Đối với tôi, cách nó hoạt động là tôi phải giết tiến trình cha mẹ. Hình quy trình cha mẹ ra và giết nó

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

1

Tôi gặp vấn đề với các quá trình gỡ lỗi với gdb trong Code :: Blocks. Ngay khi nó bị treo trong khi vô tình bước vào các hướng dẫn ngoài phạm vi nguồn của bạn (dưới dạng lib không có nguồn hoặc chức năng hệ thống), bạn không thể thoát khỏi việc gỡ lỗi từ Code :: Blocks cũng như từ Trình quản lý tác vụ.

Tôi nghĩ đó là một lỗi trong việc triển khai gdb trong Code :: Blocks, nhưng cũng có thể là trong gdb;)

Giải pháp của tôi:

taskkill /F /IM process.exe /T

Điều này cho thấy PID của quá trình cha. Bây giờ giết cha mẹ:

taskkill /PID yyyy

Cả hai đều biến mất.

Làm xong.


1
Không thể tồn tại PID cha mẹ.
dùng1133275

Vui lòng chỉ định gdb và Code :: Blocks là gì;)
xanh lam

3
Cảnh báo: nếu quy trình cha đang services.exegiết cha mẹ có thể gây ra BSOD
MM

1

nếu taskkill /F /T /PID <pid>không hoạt động. Hãy thử mở thiết bị đầu cuối của bạn bằng cách Run as Administrator.

Tìm kiếm cmdtrong menu ur windows và nhấp chuột phải Run as Administrator, sau đó chạy lại lệnh. Điều này làm việc cho tôi.


1

Nếu bạn tải xuống bộ sysiternals miễn phí, nó có ứng dụng pskill.exe hoạt động tốt cho các loại tác vụ này: pskill.exe "process_name" Nó hoạt động trên các quy trình này ngay cả khi không sử dụng tùy chọn -t.


1

Tôi đã làm như sau, trên một quyền hạn cao:

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

lệnh đầu ra:

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

Thông số ra:

instance of __PARAMETERS
{ReturnValue = 0; };

Tôi đã nhận được một số thông tin cú pháp trên: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb


Điều này thực sự làm việc, nên được chấp nhận câu trả lời. Cảm ơn
John Newman


0

Tôi đã đối mặt với cùng một vấn đề khi tôi khởi động một ứng dụng nút trong cổng 3000 và nó không đóng đúng và quá trình tiếp tục chạy ngay cả sau khi khởi động lại.

Không có lệnh taskkill hoặc powershell nào chạy trong chế độ Administrator làm việc cho tôi.

Tôi đã sử dụng MS Process Expoler> Properties> Image> Thư mục hiện tại (được cho là thư mục dự án của tôi).

Cuối cùng, tôi phải khởi động lại trong SafeMode và đổi tên thư mục dự án và khởi động lại. Các quy trình Node tiêu thụ cổng 3000 đã tự chết.


0

Tôi có cùng một vấn đề, đã tìm thấy cách khắc phục này trên một trang web khác: powershell.exe "Get-Process processname | Stop-Process" nó hoạt động với tôi và tôi đã ở trong cùng một chiếc thuyền mà tôi phải khởi động lại, / T sẽ không hoạt động .


0

Như Francis đã đề cập, một số quá trình không thể chấm dứt vì

"yêu cầu I / O chưa xử lý"

Theo kinh nghiệm của tôi, tôi đã xử lý trình điều khiển đồ họa có lỗi khiến trò chơi của tôi bị sập và không thể đóng được, vì lần cuối tôi đã vô hiệu hóa trình điều khiển đồ họa và quá trình cuối cùng đã biến mất.

Nếu ứng dụng của bạn đang chờ tài nguyên từ trình điều khiển như wifi hoặc đồ họa hãy thử vô hiệu hóa chúng trong trình quản lý thiết bị , bạn cần đào sâu một chút để xem nơi chúng bị treo.

Điều này tất nhiên là không nên nhưng đôi khi bạn không còn gì để mất nữa.


0

Tôi có cùng một vấn đề và như nhiều người khác ở đây đã nói rằng không có lệnh Kill bình thường nào hoạt động. Tệp vấn đề của tôi là một tệp thực thi đang được chạy từ chia sẻ mạng bởi người dùng trên Remote Desktop Server. Với nhiều người dùng chia sẻ không phải là một điều dễ dàng để khởi động lại trong một ngày làm việc. Ngay cả khi người dùng đăng xuất exe vẫn được liệt kê trong Trình quản lý tác vụ. Tôi đã gửi đến máy chủ nơi thư mục được chia sẻ và từ Quản lý máy tính -> Phiên tìm thấy người dùng với phiên vẫn mở từ máy chủ RDP đó ngay cả khi anh ta đã đăng xuất. Nhấp chuột phải -> Đóng phiên và khóa tệp đã được phát hành.

Đánh bại tôi tại sao tôi không thể kết thúc taks. Thông báo lỗi ban đầu tôi nhận được khi tôi thử và xóa tệp là "Không thể hoàn tất hành động vì tệp đang mở trong Hệ thống"

Hy vọng điều này sẽ giúp người khác.


0

Trong trường hợp của tôi không có giải pháp nào ở đây làm việc. Cuối cùng tôi thấy rằng chương trình được đề cập đã bị đóng băng khi cố gắng thăm dò các giao diện âm thanh USB. Vì vậy, tôi đã rút phích cắm USB DAC mà tôi đã kết nối và thật ngạc nhiên, ứng dụng đã thoát ngay lập tức. Câu trả lời của Francis đề cập rằng đó có thể là kết quả của "các yêu cầu I / O chưa được xử lý chưa được xử lý đúng cách (bởi trình điều khiển thiết bị mà chương trình của bạn có thể truy cập)", điều này có thể giải thích tại sao điều này khắc phục nó.

Tôi cho rằng nó thực sự phụ thuộc vào những gì chương trình đang làm khi đóng băng, nhưng nếu không có giải pháp nào khác hoạt động, hãy thử ngắt kết nối tất cả các thiết bị USB để xem liệu một trong số chúng có thể là nguyên nhân hay không.


-3

Chạy CMD vì Admin sẽ khắc phục sự cố


Vui lòng cung cấp thêm chi tiết về những việc cần làm tiếp theo sau khi chạy CMD với tư cách Quản trị viên.
Santiago rời SO

-8
  1. quản lý công việc mở
  2. chọn tab dịch vụ
  3. chọn quá trình (devenv.exe) bạn muốn giết và nhấp vào nút dịch vụ
  4. ngay trên quy trình, chọn thuộc tính và vô hiệu hóa nó ...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.