Jakmile spustíte aplikaci, odpovídá jí takzvaný proces, někdy jich může být i více. Pro jejich rozšířené zobrazení a správu máte v příkazovém řádku k dispozici praktické nástroje.
Pro rychlé zobrazení všech běžících procesů můžete využít služeb systémového příkazu tasklist, který navíc podporuje celou řadu doplňujících parametrů, s jejichž pomocí dokážete procesy velice dobře ukočírovat. Pokud spustíte příkaz tasklist bez jakýchkoliv doplňujících parametrů, obdržíte výpis běžících procesů. V tomto výpisu máte k dispozici sloupce s následujícím významem:
Jednotlivé procesy mohou kromě standardních systémových prostředků využívat a poskytovat také takzvané služby, které v základním přehledu v příkazovém řádku nezobrazíte. Pro jejich detailní výpis použijte parametr /svc, ve výsledku tak po zadání příkazu tasklist /svc získáte třísloupcový výpis, v němž název procesu a PID doplňuje práv přehled služeb ve stejnojmenném sloupci.
Pokud byste namísto jednoduchého výpisu procesů potřebovali získat detailní přehled i o dalších parametrech jednotlivých z nich, využijte parametr /V. Jakmile jej k základnímu příkaz tasklist přidáte, rozšíří se výpis o následující sloupce:
Z uvedených sloupců je důležitý hlavně ten s názvem Stav, jelikož s jeho pomocí máte možnost odhalit procesy, které neodpovídají – jde o tedy o takové, jež takříkajíc „spadly“, „sekly se“. Díky aktuálnímu výpisu takovéto zaseknuté procesy objevíte, můžete je pak prostřednictvím PID ukončit, jak bude detailně popsáno dále. Pamatujte ale na to, že při násilném ukončení procesu můžete přijít o data, která jsou jím rozpracovaná, ale prozatím neuložená!
Ne každá chyba Windows bude mít detailní popisek, v čem je problém, typickým příkladem mohou být špatně použité knihovny DLL. Pokud se objeví hláška, že knihovna X.dll způsobila problém, ale nevíte, k jakému procesu je vázaná, můžete se stopováním pokročit díky příkazovému řádku. Samozřejmě můžete využít také specializované nástroje pro správu procesů, ty však nemusíte mít vždy po ruce, zato příkazový řádek a Správce úloh poslouží v drtivé většině případů.
Pro zjištění vazeb knihovny na konkrétní procesy spusťte příkazový řádek a příkazem tasklist /M se seznam aktuálně běžících procesů rozšíří i názvy použitých knihoven DLL. Pokud za parametr napíšete i název knihovny, ve výpisu budou pouze procesy, které ji využívají, a tak například tasklist /M netapi32.dll vypíše ty procesy, které využívají knihovnu netapi32.dll.
Příkaz tasklist vám může nabídnout velice rozsáhlý výpis informací o aktuálně běžících procesech, často jej však budete chtít filtrovat, tedy omezit se jen na vybrané z nich. Právě k tomu účelu slouží parametr /FI, jenž vám dovolí provést filtrování podle libovolného ze sloupců, které jsou ve standardním i rozšířeném výpisu dostupné. Filtr můžete aplikovat s využitím hodnot, jež se porovnají.
Příkaz tasklist vám umožňuje získat detailní informace o právě běžících procesech, jednotlivé z nich však s jeho pomocí nemůžete vypínat. Na pomoc proto přichází příkaz taskkill, který se právě na tuto funkci zaměřuje – nejjednodušší a nejvíce bezpečné použití je použití příkazu tasklist s parametrem /PID, jenž zajistí vypnutí procesu podle jeho identifikátoru, přesně tedy určíte, který proces bude ukončen. Například použitím příkazu takskkill /PID 1184 odešlete příkaz ukončení proceu s identifikátorem 1184 a získáte výslednou informaci, typicky v podobě ÚSPĚCH: Procesu s PID 1184 byl odeslán signál ukončení.
Zmíněné použití příkazu taskkill s parametrem /PID má výhodu v tom, že ukončí přesně jeden proces, kterému odpovídá daný identifikátor. Velice často používanou alternativou je spuštění s parametrem /IM, za nějž vložíte nikoliv identifikátor, ale přímo název procesu. Mějte ale na paměti, že se požadavek na ukončení zašle všem takto pojmenovaným procesům, a tak není vhodné tento formát příkazu používat v případě systémových nebo jinak kritických procesů, jež se v paměti vyskytují násobně.
Také příkaz taskkill vám nabízí možnost ukončované procesy filtrovat, tedy omezit se jen na vybrané z nich. Právě k tomu účelu slouží parametr /FI, jenž vám dovolí provést filtrování podle libovolného ze sloupců, které jsou ve standardním i rozšířeném výpisu dostupné.
Požadavek na ukončení procesu není v uvedeném základním použití ultimativní, pokud totiž proces neodpovídá (ve výpisu příkazem tasklist má jako stav uvedeno NOT RESPONDING), pak tento požadavek nezpracuje. V podobně problematických případech proto využijte doplňujícího přepínače /F, jenž ukončení skutečně vynutí. I zde ale platí, že byste tuto variantu příkazu měli používat jen ve výjimečných případech a s rozmyslem, jelikož násilné ukončení procesu samozřejmě nezajistí uložení případně rozpracovaných dat.
Pro procesy je typické, že je jeden kořenový proces, který odpovídá hlavní aplikaci, postupně vytvoří několik dalších podprocesů, takzvaných potomků. Pokud použijete příkaz taskkill, ukončí se pouze jeden konkrétní proces, bez daných následníků – abyste vypnuli i všechny potomky, použijte rozšiřující parametr /T. Příkazem taskkill /T /PID 1184 tedy ukončíte nejen proces s identifikátorem 1184, ale také všechny další, které tento proces postupně vytvořil.
Vaše jméno:
Váš e-mail:
E-mail adresáta:
Komentář:
Odeslat