Kaj je torej SVCHOST? Poskusili bomo zadevo razložiti kar se da preprosto. Ko zaženete Upravitelja opravil in se prestavite na zavihek Procesi, vidite, da je seznam procesov kar poln, posebej če imate zagnanih več programov, kar nekaj teh procesov pa nosi ime svchost.exe. Kaj vsi ti procesi pomenijo? Najprej malo zgodovine. V času pred Windows so se programi zaganjali izključno prek izvršnih datotek tipa exe (ali com, če se še spomnite). V njih je bilo praktično vse, kar je program potreboval za delo. Ko pa so programi postajali vse zahtevnejši in obširnejši, je to postalo nepraktično. Zato so pri Microsoftu začeli določene komponente oziroma elemente programa shranjevati zunaj datoteke EXE v obliki tako imenovanih dinamičnih knjižnic (DLL – DynamicLinkLybrary). Če malce pošarite po sistemu, boste videli, da je teh knjižnic, torej datotek DLL, ogromno. Verjetno so celo najbolje zastopane datoteke od vseh. To je v praksi pomenilo, da izvršna datoteka EXE v sebi ne vsebuje več vsega, kar potrebuje, pač pa potrebne elemente, shranjene v datotekah DLL, »kliče« po potrebi. In kakšno zvezo ima s tem SVCHOST? Svchost.exe je eden takšnih programov, ki kliče knjižnice DLL, v njih pa so shranjene najrazličnejše storitve, ki jih uporabniku ponuja sistem Windows. Prek teh knjižnic sistem upravlja z zvokom, omrežjem, internetno povezavo in še s kupom drugih storitev. In ker lahko enkraten zagon datoteke svchost.exe zaganja le eno storitev, teh pa je več, je tudi datotek svchost.exe med naštetimi procesi lahko kar precej.

Kot rečeno, se lahko težave pojavijo, ko je s sistemom nekaj narobe. Takrat bi včasih radi identificirali zagnane procese in poskusili ugotoviti, kateri dela zgago. To pa večkrat ni prav preprosto in svchost je značilen primer tega. Ugotoviti, kaj počne posamezen primerek datoteke, je lahko prava mora, saj so podatki, ki jih najdemo v sistemu, dokaj skopi. V Upravitelju opravil je podatkov namreč minimalno. Nekaj več jih lahko dobimo, če zaženemo ukazno vrstico cmd, nato pa vpišemo ukaz:

Tasklist /svc /fo list

Sistem nam bo izpisal seznam vseh zagnanih storitev in nekaj več informacij o njih. Te informacije so sicer nekoliko nazornejše od tistih v Upravitelju opravil, vendar še vseeno daleč od tega, da bi iz njih res vedeli, za kaj gre.

Ali res ne gre nazorneje? Gre. Že pred časom smo pisali o brezplačnem programu oziroma paketu Microsoft Windows Sysinternals že skoraj legendarnega Marka Russinovicha, ki vsebuje paleto orodij, ki postrežejo z zelo podrobnimi informacijami o sistemu. Paket je tako obsežen, da je počasi že nepregleden. Zato je morda bolje uporabiti kak drug program, če ta seveda obstaja. Seveda s Sysinternals ni nič narobe, a kot rečeno, morda pa obstaja še kaj drugega. In to je na primer programček, imenovan SvchostViewer. Gre za brezplačno orodje, ki ga najdete na spletni strani http://svchostviewer.codeplex.com/, ponuja pa podroben vpogled v vse storitve, ki se zaganjajo prek svchost.exe. Programa ni treba nameščati, saj gre le za izvršno datoteko, deluje pa v Windows 7, pa tudi v Windows Visti in XP, če imate nameščen .NETFramework 2.0 ali višji.

Ko program zaženemo, traja nekaj trenutkov, da zbere informacije o zagnanih storitvah, in te nato prikaže v obliki seznama, podobnega seznamu map v Raziskovalcu. Ko se premikamo med posameznimi vnosi na seznamu, se na desni strani zaslona prikažejo podrobne informacije o izbrani komponenti. Te vključujejo njeno identifikacijsko številko storitve, količino pomnilnika, ki ga zaseda, količino podatkov, ki jih je storitev zapisala in prebrala z diska, vrsto storitve, način zagona, določimo lahko, ali je storitev mogoče začasno ali popolnoma ustaviti, kar pa je najpomembnejše, v oknu Description najdemo dokaj podroben opis tega, kar storitev počne. Nekateri opisi so tudi v slovenskem jeziku. Gre za tiste, ki so tako ali drugače opisani v sistemu in program te opise samo povzema.

Za tiste, ki vedo, kaj počnejo, vsebuje program tudi naprednejše funkcije. Do teh pridemo tako, da izberemo meni Servicecontrol in potrdimo, da bomo prešli v skrbniški način dela. Takrat se v vrstici z meniji aktivira tudi meni Tools, prek katerega je mogoče priti do Upravitelja storitev (Windows ServiceManager) sistema Windows, ki omogoča zaganjanje in ustavljanje storitev. Če torej v SvchostViewerju najdemo težavo in smo prepričani o tem, kako jo odpraviti, potem lahko prek naprednega načina to tudi naredimo.

Moj mikro, julij avgust 2011 | Zoran Banovič |