Jak používat taskkill a SC k ukončení procesů a služeb ve Windows

  • Taskkill a SC umožňují zavírat blokované procesy a služby pomocí příkazů.
  • Používání filtrů a pokročilých možností usnadňuje efektivní správu úkolů.
  • Ukončení procesů můžete automatizovat pomocí skriptů a dávkových souborů.
  • PowerShell a nástroje jako Process Explorer přidávají ještě větší kontrolu a flexibilitu

taskkill

Práce s procesy a službami ve Windows je někdy klíčovým úkolem pro uživatele a správce systému. Pravděpodobně jste se setkali se zamrzlou aplikací, nereagující službou nebo s potřebou automaticky zavírat programy. Pokud jste se někdy pokusili vynutit ukončení aplikace nebo služby ze Správce úloh a neuspěli jste, možná vám uniká potenciál příkazů jako taskkill y SC.

V tomto článku se podrobně podíváme na to, jak fungují taskkill, SC a celou rodinu souvisejících příkazů, abyste z nich mohli vytěžit maximum ve svém každodenním životě.

K čemu se v systému Windows používají příkazy taskkill, SC a další procesní příkazy?

Systém Windows nabízí různé nástroje pro správu procesů a služeb. Taskkill je příkaz par excellence pro ukončení jednoho nebo více procesů, buď jejich identifikací podle PID (identifikátor procesu), nebo podle názvu jejich obrazu. Na druhou stranu, příkaz SC Umožňuje manipulovat se systémovými službami, jako je spouštění, zastavování, dotazování nebo konfigurace spuštěných služeb. Použití těchto příkazů z konzole (CMD nebo PowerShell), dávkových souborů nebo skriptů poskytuje granulární kontrolu a především možnost automatizovat složité úlohy.

Tasklist, na druhou stranu, je příkaz pro zobrazení všech aktivních procesů, získání PID a názvu každého z nich. Je obzvláště užitečný pro lokalizaci problematických procesů před jejich ukončením.

cmd

Jak zobrazit seznam aktivních procesů: pomocí TASKLIST

Před ukončením procesu je dobré vědět, co přesně běží a jaké jsou jeho identifikátory. Zde přichází na řadu samotný proces. TasklistTento příkaz nabízí zobrazení velmi podobné kartě „Procesy“ ve Správci úloh, ale s většími detaily, pokud přidáte parametry.
Některé z nejužitečnějších použití:

  • Zobrazit všechny procesy ve formátu tabulky: tasklist
  • Více informací o každém úkolu: tasklist /V
  • Výpis pouze hostovaných služeb: tasklist /SVC
  • Filtrovat procesy podle stavu: tasklist /V /FI "STATUS eq running"
  • Zobrazit všechny procesy, které používají konkrétní modul: tasklist /M ntdll.dll
  • Exportujte seznam do souboru CSV nebo TXT na ploše:
    tasklist /V /FO CSV >%userprofile%\Desktop\list.csv

Rada: Všechny možnosti seznamu úloh můžete zkontrolovat spuštěním tasklist /? nebo dokonce exportovat nápovědu do souboru pomocí tasklist /? >%userprofile%\Desktop\uso.txt.

CMD a PowerShell: Základní příkazy pro každého uživatele Windows
Související článek:
CMD a PowerShell: Kompletní průvodce základními příkazy ve Windows

Jak funguje TASKKILL: ukončení procesů z příkazového řádku

taskkill Je to nástroj pro „násilné“ ukončení procesů, když nereaguje ani Správce úloh. Umožňuje vybrat procesy, které se mají zavřít podle jejich PID nebo pro jeho název obrázku (například notepad.exe). Umožňuje také vynutit zavření a dokonce i ukončení podřízených procesů, které mohly být spuštěny hlavním procesem.

Syntaxe Taskkillu

Je poměrně flexibilní a přijímá více parametrů na jednom řádku. Obecný formát je:

taskkill <usuario> ]]] {  }  
  • /s : Spustí příkaz na vzdáleném počítači (podle IP adresy nebo názvu, bez zpětných lomítek). Pokud je vynechán, spustí se na lokálním počítači.
  • /nebo : V případě potřeby zadejte uživatele a doménu, pod kterou se má ověřit.
  • /str. : Heslo zadaného uživatele.
  • /fi : Umožňuje vybrat úlohy na základě pokročilých kritérií (PID, stav, spotřeba, uživatel atd.).
  • /pid : Označuje identifikátor procesu.
  • /im : Název obrazu procesu (můžete použít zástupný znak) * pro každého).
  • /F: Vynutí ukončení procesu.
  • /t: Také ukončí všechny podřízené procesy spuštěné nadřazeným procesem.

Platné možnosti a filtry v TASKKILL

Filtr Platné operátory Platné hodnoty
POSTAVENÍ rovnice, ne BĚŽÍ, NEREAGUJE, NEZNÁMÝ
PŘEDSTAVTE SI MĚ rovnice, ne Název obrázku
PID rovnice, ne, gt, lt, ge, le Číselný identifikátor
ZASEDÁNÍ rovnice, ne, gt, lt, ge, le Číslo relace
Čas CPU rovnice, ne, gt, lt, ge, le HH: MM: SS
PAMĚTNÍKY rovnice, ne, gt, lt, ge, le Paměť v KB
USERNAME rovnice, ne uživatel nebo doména\uživatel
SLUŽBY rovnice, ne Název služby
NÁZEV OKNA rovnice, ne Název okna
MODULY rovnice, ne Název knihovny DLL

DŮLEŽITÉ POZNÁMKY:

  • Filtry NÁZEV OKNA y POSTAVENÍ Nejsou kompatibilní když je zadán vzdálený systém.
  • Použijte zástupné znaky (*) V / im Platí pouze při použití filtru.
  • Při vzdáleném zavírání procesů, ukončení bude vždy vynucené i když se nepoužívá /f.

Praktické příklady použití Taskkillu

  • Zavření více procesů podle PID: taskkill /pid 1230 /pid 1241 /pid 1253
  • Vynutit zavření Poznámkového bloku iniciovaného systémem: taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
  • Ukončete všechny procesy na vzdáleném počítači, jehož obraz začíná poznámkou, a ověřte se u uživatele: taskkill /s servidor1 /u midominio\usuario /p miClave /fi "IMAGENAME eq note*" /im *
  • Ukončit specifický proces a všechny jeho podřízené procesy, pouze pokud je spustil administrátor: taskkill /pid 2134 /t /fi "username eq administrator"
  • Ukončete všechny procesy s PID větším nebo rovným 1000: taskkill /f /fi "PID ge 1000" /im *
  • Blízko podle názvu: taskkill /f /im notepad.exe
  • Zavřete CMD a podřízené procesy: taskkill /f /im cmd.exe /t
  • Vynucené zastavení skriptů VBScript: taskkill /f /im wscript.exe
  • Restartujte Průzkumníka Windows: taskkill /f /im explorer.exe & start explorer.exe
  • Restartujte Průzkumníka po 5 sekundách: taskkill /f /im explorer.exe & timeout /nobreak 05 & start explorer.exe
  • Zavřete všechny nereagující úlohy: taskkill.exe /f /fi "status eq Not Responding"

Příkaz SC

Jak použít SC queryex a taskkill k zastavení blokovaných služeb

někdy Služby systému Windows zůstávají ve stavu „zastaveno“ nebo „spuštěno“ a neexistuje způsob, jak je spravovat z konzole služeb.Pokud restartování serveru není proveditelné, existuje řešení:

  1. Z konzole služeb (services.msc) zjistěte přesný název služby.
  2. V konzoli s administrátorskými oprávněními spusťte:
    sc queryex
  3. Zapište si PID (ID procesu), které se zobrazí ve výstupu.
  4. Spusťte následující příkaz:
    taskkill /pid /f

S touto kombinací můžete zastavit i ty nejnáročnější služby bez restartu.

Ukončení procesů pomocí PowerShellu: Moderní alternativa

Ve Windows máme také PowerShell, který nabízí cmdlet Zastavit proces (a jejich aliasy zabít y spps), pomocí kterého můžete ukončit procesy podle názvu nebo PID. Praktické příklady:

  • Podle PIDu: Stop-Process -Force -Id 3572
  • podle jména: Stop-Process -Name notepad o kill -Name notepad

PowerShell přidává flexibilitu, pokročilé skriptování a bezproblémovou integraci se složitými administračními skripty.

Tipy a varování při používání těchto příkazů

  • Mějte na paměti privilegia: Pokud byl proces spuštěn jako správce, budete muset otevřít konzoli se stejnými oprávněními.
  • Vynucené vypnutí může vést ke ztrátě dat: Pokud úkol obsahoval neuložené změny, můžete o ně přijít.
  • Při práci na vzdálených počítačích jsou všechna ukončení vynucena: A je zásadní mít správná oprávnění, aby se předešlo problémům v produkci.
  • Kombinujte filtry se zástupnými znaky a více parametry pro uzavření velkého počtu procesů jedním příkazem.

Tato sada nástrojů a strategií vám umožní řešit pády, uvolňovat zdroje, automatizovat vypínání aplikací a udržovat počítač nebo síť pod kontrolou, a to i v situacích, které se z grafického rozhraní Windows zdají být neřešitelné.