tasklist to windowsowy odpowiednik uniksowego ps — wbudowany w system wiersz poleceń, który wypisuje listę wszystkich uruchomionych procesów wraz z ich PID-ami, nazwą sesji i zużyciem pamięci. Kiedy Menedżer zadań jest za wolny, klikasz przez RDP albo piszesz skrypt, który ma sprawdzić, czy dany proces żyje, tasklist jest twoim narzędziem pierwszego wyboru. Działa lokalnie i zdalnie (przez WMI), a wynik potrafi zrzucić w formacie CSV gotowym do dalszej obróbki.
Składnia i najważniejsze opcje
Podstawowa forma to tasklist [/svc | /v | /m [moduł]] [/fo {table|list|csv}] [/nh] [/fi filtr]. Uruchomiona bez żadnego parametru pokazuje po prostu tabelę wszystkich procesów.
/v— tryb szczegółowy: dokłada m.in. nazwę użytkownika, czas CPU i tytuł okna. Nie łączy się z/svcani/m./svc— pokazuje, jakie usługi (services) hostuje każdy proces. Bezcenne przy diagnozie rozdętych svchost.exe./m [moduł]— listuje moduły (DLL-e) wczytane przez procesy; opcjonalnie filtruje po konkretnej bibliotece./fo {table|list|csv}— format wyjścia: tabela (domyślnie), lista albo CSV do skryptów./nh— usuwa wiersz nagłówka (przydatne w tabeli i CSV, gdy parsujesz wynik)./fi "filtr"— filtruje po kryterium, np.IMAGENAME,PID,STATUS,MEMUSAGE,USERNAME. Operatory:eq,ne,gt,lt,ge,le./s komputer /u użytkownik /p hasło— odpytanie zdalnej maszyny z podaniem poświadczeń.
Przykłady użycia
tasklist /fi "IMAGENAME eq chrome.exe"— pokazuje tylko procesy Chrome, żebyś zobaczył, ile ich naprawdę siedzi w pamięci.tasklist /svc /fi "IMAGENAME eq svchost.exe"— rozbija każdy svchost na usługi, które w nim mieszkają.tasklist /v /fi "STATUS eq NOT RESPONDING"— wyłapuje zawieszone aplikacje razem z tytułem okna.tasklist /fi "MEMUSAGE gt 200000" /fo table— wypisuje procesy zjadające ponad ~200 MB (wartość w kB).tasklist /nh /fo csv > procesy.csv— zrzuca całą listę bez nagłówka do pliku CSV pod dalszą analizę.
Częste błędy i pułapki
Najczęstsza wpadka to MEMUSAGE liczony w kilobajtach, nie megabajtach — jak wpiszesz gt 200, złapiesz praktycznie wszystko. Druga: cały wyraz filtra musi być w cudzysłowie, więc /fi IMAGENAME eq cmd.exe bez cudzysłowów wysypie błąd składni. Filtry WINDOWTITLE i STATUS nie działają przy zapytaniach zdalnych (przez /s) — to ograniczenie samej komendy, nie twój błąd. Pamiętaj też, że /v, /svc i /m wzajemnie się wykluczają — nie połączysz ich w jednym wywołaniu. I na koniec: tasklist tylko pokazuje procesy, nic nie ubija — do tego jest taskkill.
Powiązane komendy: taskkill, wmic process, Get-Process (PowerShell), sc query, ps (na Linuksie).