taskkill

Kończy działanie procesu na podstawie jego PID lub nazwy obrazu.

taskkill to windowsowe polecenie wiersza poleceń (CMD/PowerShell), które kończy działanie procesów. To odpowiednik kill z Linuksa, tylko z windowsowym charakterem: proces wskazujesz albo po jego numerze PID, albo po nazwie obrazu (pliku wykonywalnego, np. notepad.exe). Przydaje się, gdy aplikacja się zawiesiła i Menedżer zadań akurat też się zaciął, albo gdy chcesz ubić kilka procesów naraz jednym poleceniem w skrypcie. Numery PID podejrzysz poleceniem tasklist.

Składnia i najważniejsze opcje

Podstawowa forma wygląda tak:

taskkill {/pid PID | /im nazwa} [/f] [/t]

  • /pid PID — wskazuje proces po jego identyfikatorze (liczbowym). Możesz podać kilka /pid naraz.
  • /im nazwa — wskazuje proces po nazwie obrazu, np. chrome.exe. Akceptuje znak *, ale tylko w połączeniu z filtrem.
  • /f — wymusza zakończenie (forsownie), bez pytania procesu o zgodę na zamknięcie. Bez tego Windows prosi aplikację o „grzeczne” wyjście.
  • /t — kończy proces razem z całym drzewem procesów potomnych, które uruchomił.
  • /fi filtr — wybiera procesy pasujące do kryterium, np. "status eq running" albo "memusage gt 100000".
  • /s komputer — łączy się ze zdalnym komputerem, żeby ubić proces po sieci.
  • /u domena\użytkownik oraz /p hasło — kontekst użytkownika i hasło dla połączenia zdalnego.

Przykłady użycia

taskkill /im notepad.exe — grzecznie zamyka wszystkie okna Notatnika (wysyła sygnał zamknięcia, aplikacja może jeszcze zapytać o zapis).

taskkill /f /im chrome.exe — bezlitośnie ubija wszystkie procesy Chrome, bez ceregieli. Klasyka, gdy przeglądarka zżarła pamięć i przestała reagować.

taskkill /pid 4820 /f — wymusza zakończenie konkretnego procesu o PID 4820 (numer sprawdzisz przez tasklist).

taskkill /pid 4820 /t /f — ubija proces 4820 wraz ze wszystkimi jego dziećmi, przydatne przy zawieszonych aplikacjach, które porozrzucały procesy potomne.

taskkill /f /fi "status eq not responding" — wymusza zamknięcie wszystkich procesów, które system oznaczył jako „nie odpowiada”. Jedno polecenie zamiast klikania po Menedżerze zadań.

Częste błędy i pułapki

Najczęstszy komunikat to „Access is denied” — proces działa z wyższymi uprawnieniami niż Twoja konsola. Rozwiązanie: uruchom CMD/PowerShell jako administrator. Procesów systemowych (te z PID 0 i 4) i tak nie ubijesz.

Uważaj z /f na aplikacjach, które nie zapisały danych — forsowne zabicie oznacza utratę niezapisanej pracy, bo proces nie dostaje szansy na porządne zamknięcie. To nie jest przycisk „zapisz i zamknij”.

Przy /im pamiętaj, że nazwa obrazu ubija wszystkie procesy o tej nazwie — jeśli masz otwartych dziesięć okien tej samej aplikacji, znikną wszystkie. Gdy chcesz precyzji, celuj w konkretny PID.

Znak * zadziała tylko razem z filtrem /fi, samo taskkill /im chr* nie przejdzie.

Powiązane komendy: tasklist (podgląd procesów i PID-ów), tskill (starszy, prostszy odpowiednik), a po stronie Linuksa kill, killall i pkill.