15.  6.  2012    Windows 7

Profi: Služby podrobně v příkazovém řádku

Autor: Doporučit článek  |  vytisknout vytisknout  |  textová verze  |  velikost písma ++++++

Jednotlivé služby poskytují rozličné funkce – obsluhují přístup k síti, práci se soubory apod. Tyto služby často tvoří nezbytné jádro pro práci všech ostatních aplikací.

Pro správu služeb v příkazovém řádku využijte příkaz sc, který podporuje celou řadu doplňujících parametrů a voleb, s nimiž získáte k službám opravdu detailní přístup. Nejjednodušší použití tohoto příkazu je společně s parametrem query, spuštěním sc query tedy obdržíte výpis právě běžících služeb společně s přidruženými podrobnostmi:

  • Název služby
  • Zobrazovaný název
  • Typ
  • Stav
  • Ukončovací kód WIN32
  • Ukončovací kód služby
  • Kontrolní bod
  • Nápověda při čekání
scq.png
Výpis služeb příkazem sc query

Právě zmíněný parametr query můžete rozšířit o další upřesňující možnosti, kterými omezíte výčet služeb, jež ve výsledném výpisu získáte. Pokud za něj zadáte název služby, bude zobrazen stav pouze této konkrétní služby a nebudou použity další možnosti. Výpis v případě takovéhoto omezení nijak nerozšiřuje informace dostupné použitím pouze parametru query, ve skutečnosti totiž dojde jen k vybrání a vypsání bloku informací, jenž dané službě odpovídá. Za parametrem query můžete využít několika dalších rozšiřujících možností, jimiž výpis detailně omezíte:

  • Type – omezení typu služeb, jejichž výpis chcete získat. Využít můžete možnosti driver, service, all, přičemž jako standardní varianta je použita možnost service.
  • State – upřesnění stavu služeb, jejichž výpis chcete získat. K dispozici máte možnosti inactive, all.
  • Bufsize – určení velikosti vyrovnávací paměti pro vytvářený výpis. Zadáváte jej v bajtech, výchozí hodnotou je 4 096.
  • Ri - index obnovení, od kterého se má výpis provést. Ve výchozím nastavení se jedná o hodnotu 0.
  • Group – omezení skupiny služeb, které chcete do výpisu zahrnout.

Rychlý výpis služeb typu driver

V praxi nejčastěji využijete omezení parametru query s rozšířením type, a to v případě potřeby získat přehled aktuálních ovladačů. Pro kompletní výpis právě využívaných ovladačů stačí zadat příkaz sc query type= driver. Výpisy mohou být při standardním provozu systému Windows 7 velice obsáhlé, a proto s výhodou využijte možnosti jejich pozastavení vždy po zaplnění aktuální obrazovky příkazového řádku pomocí filtru more, tedy například pro výpis všech služeb odpovídajících ovladačům s takovýmto pozastavením vložte příkaz sc query type= driver | more.

scqd.png
Výpis služeb typu driver s pozastavením při zaplění obrazovky (díky more)

Kromě základního výpisu služeb můžete pomocí příkazu sc upravit také jejich stav, množinu právě běžících apod. Pro spuštění služby slouží rozšiřující parametr start, za nějž vložíte název služby, která má být spuštěna. Tak například vložením příkazu sc start winmgmt spustíte službu winmgmt. Pokud se pokusíte spustit službu, která již běží, nedojde mezi nimi ke konfliktu, jelikož opětovné spuštění identické služby bude systémem Windows automaticky odmítnuto, zobrazí se vám chybová hláška „Instance této služby je již spuštěna.“.

Opakem pro spuštění služby je jejich zastavení, k čemuž slouží příkaz sc rozšířený o parametr stop, navíc rozšířený o název odpovídající služby. Jestliže si tedy přejete zastavit službu winmgmt, stačí vložit příkaz sc stop winmgmt. Při vypínání služeb nemusíte přesně znát jejich závislosti, a tedy se obávat vypnutí služby, na níž jsou vázané některé další. Pokud byste se pokusili vypnout službu, kterou využívají jiné služby, obdržíte chybové hlášení a operace zastavení skončí neúspěchem.

Pozastavení a zjištení závislostí služeb

Služby kromě základního vypnutí či spuštění můžete také dočasně pozastavit a následně pokračovat v jejich běhu, slouží k tomu dvojice příkazů pause a continue. Tak například vložením příkazu sc pause winmgmt pozastavíte službu winmgmt, ale úplně ji neukončíte. Opětovně spuštění (pokračování v původním běhu) zajistíte vložením příkazu sc continue winmgmt.

Služby v systému Windows 7 neběží autonomně, ale jsou protkány závislostmi mezi sebou. Právě z tohoto důvodu někdy nebudete schopni konkrétní službu ukončit, jelikož na ní jsou závislé i některé další. Abyste podobným problémům a zdržením předešli, nabízí se vám k dispozici parametr enumdepend, který vypíše závislost mezi jednotlivými službami. Tak například vložením příkazu sc enumdepend winmgmt získáte přehled služeb, které jsou závislé na službě winmgmt.

Kromě právě uvedených parametrů máte k dispozici několik dalších, jejichž pomocí běh služeb, jejich sledování a zastavování upřesníte, případně získáte doplňující informace. Pro jejich přehled stačí, abyste vložili příkaz sc bez jakýchkoliv parametrů, automaticky se vypíše daný seznam.




X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat


celkem 0

Poslední komentáře Komentáře