Czasami program na komputerze z systemem Windows wariuje i po prostu się zawiesza. Zadzwonię więc do menedżera zadań i kliknę przycisk „Zakończ proces”. Jednak to nie zawsze działa; jeśli spróbuję tego wystarczająco dużo razy, zazwyczaj ostatecznie umrze, ale naprawdę chciałbym móc go natychmiast zabić. W systemie Linux mógłbym tylko kill -9
zagwarantować, że proces umrze.
Można to również wykorzystać do pisania skryptów wsadowych i pisania skryptów wsadowych do programowania.
Czy jest jakiś program lub polecenie dostarczane z systemem Windows, które zawsze zabije proces? Bezpłatna aplikacja innej firmy byłaby w porządku, chociaż wolałbym móc to zrobić na maszynach, na których siadam po raz pierwszy.
Odpowiedzi:
„Zakończ proces” w wywołaniach Processes-Tab,
TerminateProcess
który jest najbardziej zaawansowanym sposobem, w jaki system Windows wie, jak zabić proces.Jeśli nie zniknie, jest obecnie zablokowany, czekając na jakiś zasób jądra (prawdopodobnie błędny sterownik) i nie ma nic (poza ponownym uruchomieniem), co można zrobić, aby proces zniknął.
Spójrz na ten wpis blogu z drogi powrotnej, gdy: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Systemy oparte na Uniksie, takie jak Linux, również mają ten problem, w którym procesy mogą przetrwać,
kill -9
jeśli są w tak zwanym „nieprzerwanym śnie” (pokazane jako top i ps jako stanD
), w którym to momencie procesy śpią tak dobrze, że nie mogą przetworzyć przychodzących sygnałów (cokill
robi - wysyłanie sygnałów).Zwykle nieprzerwany sen nie powinien trwać długo, ale tak jak w systemie Windows, uszkodzone sterowniki lub uszkodzone programy przestrzeni użytkownika (
vfork
bezexec
) mogą spaćD
wiecznie.źródło
taskkill /f
jest najbardziej ostateczny.TerminateProcess
API. Robi dokładnie to samo, co Menedżer zadań (jednak masz rację, z podwyższonymi uprawnieniami).„/ F” oznacza „siłę”. Jeśli znasz PID, możesz to określić, jak w:
Możliwych jest wiele innych opcji, wystarczy wpisać taskkill /? dla nich wszystkich. Opcja „/ t” zabija proces i wszelkie procesy potomne; które mogą ci się przydać.
źródło
taskkill /pid 1234 /f
działa, gdy End Task odmawia działania! ŁAŁ!Process Hacker ma wiele sposobów na zabicie procesu.
(Kliknij proces prawym przyciskiem myszy, a następnie przejdź do Różne-> Terminator.)
źródło
JosepStyons ma rację. Otwórz cmd.exe i uruchom
Jeśli wystąpi błąd,
następnie spróbuj uruchomić cmd.exe jako administrator.
źródło
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
i odnosi się do rodzica PID 17880. Ponieważ nie może znaleźć rodzica, nie zabije osieroconego dziecka. :(Pobierz eksplorator procesów z sysinternals (teraz Microsoft)
Process Explorer - Windows Sysinternals | Dokumenty Microsoft
źródło
Jedną sztuczką, która działa dobrze, jest dołączenie debuggera, a następnie zamknięcie debugera.
W systemie Windows XP lub Windows 2003 możesz to zrobić za pomocą ntsd, który jest dostarczany po wyjęciu z pudełka:
ntsd otworzy nowe okno. Wystarczy wpisać „q” w oknie, aby wyjść z debuggera i wyjąć proces.
Wiem, że to działa, nawet jeśli menedżer zadań nie wydaje się być w stanie zabić procesu.
Niestety ntsd został usunięty z Visty i musisz zainstalować (bezpłatne) narzędzia do debugowania dla systemu Windows, aby uzyskać odpowiedni debugger.
źródło
winsdk_web.exe
, co nic nie robi.skonfiguruj polecenie AT, aby uruchomić menedżera zadań lub eksploratora procesów jako SYSTEM.
Jeśli eksplorator procesów znajdował się na twoim głównym dysku C, otworzyłby go jako SYSTEM i możesz zabić dowolny proces bez uzyskania błędów odmowy dostępu. Ustaw to na około minutę w przyszłości, a następnie pojawi się dla Ciebie.
źródło
W przypadku odmowy dostępu ntsd spróbuj:
ZeroWave został zaprojektowany jako proste narzędzie, które zapewni wielopoziomowe zakończenie każdego rodzaju procesu.
ZeroWave jest także łatwym w użyciu programem ze względu na prostą instalację i bardzo przyjazny interfejs graficzny.
ZeroWave ma trzy tryby zakończenia, a tryb „INSANE” może zakończyć każdy proces, który można uruchomić w systemie Windows.
Wygląda na to, że ZeroWave nie może zabić avp.exe
źródło
Do Twojej wiadomości możesz czasem użyć SYSTEM lub Trustedinstaller do zabicia zadań;)
google quickkill_3_0.bat
źródło