Windows & TaskKill - Zabijanie procesów z pozycji wiersza poleceń
Kilka słów na temat tego jak na systemach Windows zabić proces z poziomu wiersza poleceń, czyli konsoli.
Jak zabić proces z konsoli na Windowsie?
Przyzwyczajenia z Linuksa dają o sobie znać, choć zapewne i dla wielu osób na co dzień pracujących wyłącznie na Windowsach, temat zabijania procesów z pozycji wiersza poleceń wydaje się interesujący. Można oczywiście zrobić to używając Menedżera zadań, ale oferta podejścia tekstowego jest zdecydowanie bogatsza. Czym więc zastąpić polecenia takie jak kill, czy killall znane z Linuksów?Otóż na Windowsach do zabijania procesów służy program TaskKill. Jak można podejrzeć w pomocy tej aplikacji, istnieje wiele wariantów przekazywanych argumentów. Do tych zdecydowanie najpopularniejszych możemy zaliczyć:
Zabicie procesu o danym numerze PID (Process ID):
Jak widać sprawa rozbija się głównie o znajomość tej komendy, bo reszta już bez większej filozofii. No... trzeba oczywiście wiedzieć jeszcze jakich flag użyć. Do zadań bardziej złożonych, polecam zapoznanie się z manualem (flaga /?), w którym wszystko jest wyjaśnione, łącznie z przedstawieniem przykładów. Dla zainteresowanych, wklejam go również poniżej:
>taskkill /? TASKKILL [/S system [/U nazwa_użytkownika [/P [hasło]]]] { [/FI filtr] [/PID id procesu | /IM nazwa obrazu] } [/F] [/T] Opis: To narzędzie wiersza polecenia może służyć do zakończenia jednego lub więcej procesów. Procesy można kasować przy użyciu identyfikatora procesu lub nazwy obrazu. Lista parametrów: /S system Określa system zdalny, z którym ma nastąpić połączenie. /U [domena]użytkownik Określa kontekst użytkownika, w którym polecenie powinno być wykonane. /P [hasło] Określa hasło dla danego kontekstu użytkownika. W razie pominięcia monituje o podanie danych. /F Określa wymuszenie zakończenia procesów. /FI filtr Wyświetla zestaw zadań pasujących do danych kryteriów określonych w filtrze. /PID id procesu Określa identyfikator PID procesu, który ma być zakończony. /IM nazwa obrazu Określa nazwę obrazu procesu, który ma być zakończony. Symbolu wieloznacznego '*' można użyć do określenia wszystkich nazw obrazów. /T Przerwanie drzewa; kończy określony proces i wszystkich procesów podrzędnych, które zostały uruchomione przez dany proces. /? Wyświetla tę pomoc/sposób użycia. Filtry: Nazwa filtru Prawidłowe operatory Prawidłowe wartości ------------ -------------------- ------------------- STATUS eq, ne RUNNING | NOT RESPONDING IMAGENAME eq, ne Nazwa obrazu. PID eq, ne, gt, lt, ge, le Wartość identyfikatora PID. SESSION eq, ne, gt, lt, ge, le Numer sesji. CPUTIME eq, ne, gt, lt, ge, le Czas procesora w formacie hh:mm:ss. hh - godziny, mm - minuty, ss - sekundy MEMUSAGE eq, ne, gt, lt, ge, le Użycie pamięci w KB USERNAME eq, ne Nazwa użytkownika w formacie [domena]użytkownik MODULES eq, ne Nazwa biblioteki DLL SERVICES eq, ne Nazwa usługi WINDOWTITLE eq, ne Tytuł okna UWAGA: Symbol wieloznaczny "*" dla przełącznika /IM jest akceptowany tylko razem z filtrami. UWAGA: Zakończenie procesów zdalnych będzie zawsze przeprowadzane przez wymuszenie niezależnie od tego, czy określono opcję /F, czy nie. Przykłady: TASKKILL /S system /F /IM notepad.exe /T TASKKILL /PID 1230 /PID 1241 /PID 1253 /T TASKKILL /F /IM notepad.exe /IM mspaint.exe TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*" TASKKILL /F /FI "USERNAME eq NT AUTHORITYSYSTEM" /IM notepad.exe TASKKILL /S system /U domenanazwa_użytkownika /FI "USERNAME ne NT*" /IM * TASKKILL /S system /U nazwa_użytkownika /P hasło /FI "IMAGENAME eq note*"
Komentarze (1)