tasklist

Wyświetla listę uruchomionych procesów wraz z PID i zużyciem pamięci.

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 /svc ani /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).