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/pidnaraz./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żytkownikoraz/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.