Risposte:
svchost, ospita i servizi in Windows Vedi KB . Se usi Process Explorer puoi vedere quali servizi sono in esecuzione all'interno di un particolare processo.
Molti componenti di esecuzione di Windows sono implementati come servizi (vedere tutti i servizi sull'apertura della macchina Control Panel > Administrative Tools > Services
). Si tratta di programmi specializzati in esecuzione in background. Non vengono avviati dall'utente che ha effettuato l'accesso, ma il mio stesso sistema operativo.
La maggior parte dei servizi non sono eseguibili autonomi (file EXE), ma sono implementati in librerie (DLL), che possono essere utilizzate eseguendo processi. Come suggerisce il nome, Svchost o "Service Host" è l'eseguibile standard di Windows per l'esecuzione di queste DLL. Puoi trovare il file svchost.exe nella %systemroot%\system32
directory.
Se vuoi sapere quale istanza di svchost sta eseguendo quale servizio, digita
tasklist /svc /fi "IMAGENAME eq svchost.exe"
su una console della riga di comando (cmd).
Sulla macchina, dove ho creato lo screenshot, una delle istanze di svchost esegue 21 servizi diversi, ad esempio. Questo raggruppamento di servizi consente un migliore controllo e un debug più semplice, secondo la documentazione di Microsoft .
I gruppi Svchost.exe sono identificati nella seguente chiave di registro:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
Un suggerimento (se si esegue Windows Vista, Windows 7 o Windows Server 2008): è possibile aprire Task Manager e fare clic con il pulsante destro del mouse su un particolare processo svchost.exe, quindi scegliere l'opzione "Vai al servizio". Questo mostrerà la scheda Servizi , dove svchost.exe
saranno contrassegnati tutti i servizi in esecuzione nel processo selezionato .
C'è un documento molto interessante nel Download Center di Microsoft:
Riferimenti ai servizi di sistema di Microsoft Windows Server 2003
Questo documento contiene riepiloghi di tutti i servizi disponibili per la famiglia di sistemi operativi Windows Server 2003. I servizi sono elencati in ordine alfabetico per nome visualizzato. A seguito di una descrizione di ciascun servizio, una tabella elenca le informazioni chiave sul servizio.
Ogni servizio di Windows è elencato con tutti i suoi dettagli. Si impara, ad esempio, che il nome del file eseguibile del servizio Servizi terminal è
svchost.exe -k termsvcs
Svchost è l'abbreviazione di "Service Host". Mantiene in esecuzione la maggior parte dei servizi sul tuo computer. Ci saranno alcuni servizi che si ospitano nel proprio file .exe, ma la maggior parte dei servizi di Windows deve essere ospitata all'interno di un processo svchost.exe. I servizi sulla tua macchina gestiscono cose importanti come rete, server RpC, audio, registro eventi ecc.
Digita "services.msc" in Start-> Esegui per visualizzare i servizi che hai in esecuzione sul tuo computer. Se ritieni che qualcuno sia inutile, puoi interrompere il servizio.
Digitare "tasklist / SVC" per vedere quali servizi sono ospitati dai diversi file svchost.exe.
Ecco un one-liner di PowerShell che genera tutti i servizi ospitati nei processi svchost.exe:
PS>get-process svchost | % {get-wmiobject win32_service -filter "processid=$($_.id)"} | format-table processid,name,displayname,state,status -auto
processid name displayname state status
--------- ---- ----------- ----- ------
316 HTTPFilter HTTP SSL Running OK
1328 DcomLaunch DCOM Server Process Launcher Running OK
1328 TermService Terminal Services Running OK
1392 RpcSs Remote Procedure Call (RPC) Running OK
1528 AudioSrv Windows Audio Running OK
1528 BITS Background Intelligent Transfer Service Running OK
1528 Browser Computer Browser Running OK
La versione più breve di un one-liner si presenta così:
gps svchost | % {gwmi win32_service -f "processid=$($_.id)"} | ft proc*,name,disp*,stat* -auto
Questo articolo potrebbe essere utile: http://www.gfi.com/it/blog/exploring-svchostexe-part-1/