svchost.exe: il processo host nel test dei sistemi operativi Windows
Quando il sistema Windows funziona correttamente, non avete probabilmente alcun motivo per andare a verificare la Gestione attività o i singoli processi e servizi. Così come gli automobilisti aprono il cofano della propria auto raramente quando questa non presenta problemi, anche gli utenti dei PC non sbirciano tra i servizi in esecuzione e i programmi a essi correlati. Tuttavia, spesso è buona norma acquisire le nozioni di base su questo argomento e imparare a conoscere i principali programmi di sistema, in particolare se svolgete un lavoro per il quale un computer ben funzionante è imprescindibile. I problemi, infatti, si presentano spesso nei momenti meno opportuni. Se riscontrate una delle situazioni seguenti, vale la pena dare uno sguardo ai processi in esecuzione:
- Utilizzo stranamente elevato del sistema, ad esempio un utilizzo della CPU sproporzionato
- Crash di programmi o finestre “congelate”
- Sospetto di virus
- Impossibilità di avviare programmi installati correttamente
A una prima analisi delle applicazioni in esecuzione, salta sicuramente all’occhio il processo svchost.exe. Il motivo è che questo processo viene eseguito più volte contemporaneamente, spesso alcune decine di volte. Il nome del programma contiene l’abbreviazione Service Host (tradotto: host di servizio o “ospite” per i servizi). Si tratta dunque di un software che può essere utilizzato da altri programmi o servizi. Per questo non è possibile individuare immediatamente il programma d’origine che si nasconde dietro al processo esaminato.
Dove si trova svchost.exe?
Trattandosi di un programma di sistema, svchost.exe si trova nella cartella di sistema “\Windows\System32”. Questa è una cartella protetta alla quale gli utenti sprovvisti di permessi da amministratore non hanno accesso. Il programma viene richiamato dopo l’avvio del sistema dal Service Control Manager (SCM). Questo gestisce, nel registro di sistema di Windows (Registry) un elenco dei servizi da avviare. Dopo l’avvio del sistema, il SCM esegue, per ciascun servizio contenuto nell’elenco, un’istanza di svchost.exe come processo.
A questo riguardo esiste anche la possibilità di accorpare più servizi in un unico processo. Nei computer più potenti, tuttavia, Windows tende ad avviare un processo separato per ciascun servizio. Questo permette di delimitare meglio i singoli processi e risulta vantaggioso nel caso in cui un processo vada in “crash”, ossia entri in uno stato di esecuzione indefinito. In questi casi è quindi possibile chiudere il task problematico senza andare a toccare gli altri programmi.
Il registro di sistema Windows, a cui spesso si fa riferimento anche con il termine inglese Registry, è il percorso in cui sono salvate molte importanti impostazioni del sistema operativo. È strutturato in modo gerarchico e può essere gestito con l’editor Regedit.
A che cosa serve svchost.exe?
Vi chiederete perché mai, per avviare i servizi, sia necessario un software aggiuntivo. Il motivo risiede in una maggiore efficienza e in concetti specifici come le cosiddette Dynamic Link Libraries (DLL). Queste ultime utilizzano svchost.exe proprio per eseguire un servizio. In generale, queste librerie contengono un codice di programma che può essere utilizzato da diversi software e, se necessario, collegato (tramite link) in modo dinamico. Questo, da una parte, permette di risparmiare spazio in memoria, poiché si evita che ogni singolo software debba disporre delle funzioni corrispondenti. Dall’altra favorisce la modularizzazione. Le DLL possono essere adattate e aggiornate in base al software utilizzato.
In caso di errori in una DLL, è possibile che siano coinvolti più programmi contemporaneamente!
Con le loro proprietà, le librerie dinamiche supportano programmi di uso comune che, per essere eseguiti in modo indipendente, necessitano di ampi codici macchina. Inoltre risolvono il problema per il quale determinate risorse di programma (come le risorse incorporate) non possono essere di norma indirizzate direttamente da altri programmi. Il sistema predilige la forma delle DLL per rendere disponibili soprattutto quelle funzionalità che sono necessarie per più programmi.
In che modo un processo svchost.exe può essere analizzato più in dettaglio?
Se riscontrate che un processo svchost.exe sta causando problemi sul vostro sistema, esistono diverse possibilità per analizzarlo più a fondo.
Gestione attività
Uno strumento efficace è la Gestione attività integrata in Windows, di norma richiamabile con la combinazione di tasti [Ctrl] + [Shift] + [Esc]. In alternativa è anche possibile digitare le parole “Gestione attività” nella barra di ricerca e avviare l’applicazione tramite il risultato di ricerca visualizzato.
La Gestione attività presenta diverse schede. Di solito viene avviata con la visualizzazione dei processi già aperta. Per ciascun processo avviato, qui vengono visualizzati l’utilizzo percentuale del sistema, ossia l’utilizzo di potenza di calcolo, memoria di lavoro, traffico di rete e accessi al disco fisso. L’ordine delle voci può essere modificato facendo clic sul criterio desiderato. I processi sono denominati in base ai rispettivi programmi. In Windows 10, i processi svchost.exe sono preceduti dalla dicitura “Host servizio”, seguita dalla descrizione del servizio eseguito. Nelle versioni precedenti di Windows, il nome svchost.exe veniva visualizzato direttamente nell’elenco dei processi.
Servizi (Services.msc)
Tutti i servizi possono essere visualizzati con l’app di sistema Servizi. Per aprire questa applicazione, aprite la finestra di dialogo Esegui tramite il menu Start (icona Windows) e digitate quanto segue:
services.msc
Nel menu di scelta rapida di ogni singola voce si trova il campo di selezione “Proprietà”. Questo mostra il percorso del file eseguibile collegato. Vengono inoltre visualizzati il nome del servizio e una breve descrizione. In questo modo è possibile conoscere la funzione del servizio. Le relazioni di dipendenza da altri servizi sono visualizzabili nell’omonima scheda.
tasklist.exe
Se avete dimestichezza con l’utilizzo della riga di comando, il programma tasklist.exe offre una valida alternativa. In Windows 10 il programma è preinstallato e particolarmente intuitivo. Nelle versioni precedenti era implementato un software analogo denominato “tlist.exe”. Per avviare il programma è necessario richiamare il prompt dei comandi “cmd.exe”. Per ottenere un elenco di tutte le istanze di svchost.exe con i relativi ID di processo e i servizi eseguiti, nella riga di comando di Windows digitate il comando seguente:
tasklist /svc /fi "imagename eq svchost.exe"
Programmi esterni: Process Explorer
Microsoft offre gratuitamente software aggiuntivi come Process Explorer di Mark Russinovich, noto autore di testi specialistici e guru di Windows. Il programma ha una grafica simile a quella della Gestione attività, tuttavia offre funzioni molto più ampie. Risulta quindi facile individuare da quali processi vengono richiamati altri processi. Inoltre, il menu di scelta rapida richiamabile con il tasto destro del mouse è molto più dettagliato. Ad esempio, viene visualizzato non solo il programma associato a un processo, ma anche la rispettiva voce di registro. È inoltre possibile eseguire il controllo dei software direttamente sulla piattaforma Virustotal.
In che modo è possibile capire se svchost.exe è un virus?
Il processo svchost.exe risulta spesso sospetto quando si analizza un sistema infettato da malware. Questo è dovuto al fatto che il servizio di base non è sempre immediatamente riconoscibile. Inoltre non è possibile escludere che il malware sfrutti la funzione del processo e si agganci a esso. Il fatto che il processo venga eseguito in numerose istanze è stato in passato sfruttato di frequente dai criminali informatici.
Non sempre è facile stabilire se si tratta di processi legittimi o meno: per prima cosa è necessario verificare se il processo presenta un’ortografia corretta. Spesso, infatti, i malware utilizzano nomi apparentemente simili come, ad esempio, scvhost.exe o svhost.exe. Inoltre, seguendo la procedura sopra descritta è possibile visualizzare il percorso in cui è stato salvato il file eseguibile. Questo deve essere esclusivamente “\Windows\System32\”; in caso contrario si tratta di un processo di sistema non ufficiale.
Ulteriori indicazioni si possono ottenere dai servizi collegati. Se questi sono funzioni di sistema note di Windows, la probabilità che la causa sia un malware è piuttosto bassa. Inoltre, la scheda “Dettagli” della Gestione attività offre ulteriori informazioni. Nelle Proprietà è contenuta una firma digitale (certificato) del proprietario che, nel caso di svchost.exe, deve sempre essere la società Microsoft.
In che modo è possibile terminare i singoli processi svchost.exe?
Se un programma con un’interfaccia utente grafica non reagisce più, può essere utile terminare manualmente il relativo processo. È anche possibile che siano state inavvertitamente avviate più istanze di un programma, ad esempio facendo più volte doppio clic sull’icona del programma. Anche in questo caso è possibile terminare i processi superflui affinché il programma possa essere di nuovo utilizzato normalmente. I processi come svchost.exe possono essere chiusi nella Gestione attività. A questo scopo, nell’elenco dei processi è sufficiente selezionare la relativa voce cliccandola con il tasto destro, quindi selezionare l’opzione “Termina attività”.
Tenete presente che terminare processi di sistema potrebbe causare problemi inattesi al sistema operativo in uso. È quindi consigliabile salvare dapprima i documenti o altre banche dati aperti!
Se un’istanza svchost.exe continua a causare problemi anche dopo il riavvio, rimane comunque la possibilità di disattivare il processo manualmente nell’app “Servizi”. In questo caso è tuttavia buona norma informarsi preventivamente sulla funzione del servizio da disattivare per non incorrere nel rischio che, al successivo riavvio, il sistema non funzioni più correttamente.
svchost.exe – un processo come nessun altro
Di fatto, svchost.exe è un processo assolutamente normale, ma allo stesso tempo del tutto particolare. Viene eseguito in molteplici istanze, ma questo non indica sostanzialmente né un malfunzionamento del sistema, né la presenza di malware attivi. La finalità di ognuno di questi processi è relativamente facile da individuare nella Gestione attività di Windows. Inoltre, se necessario, svchost.exe può essere terminato manualmente come qualunque altro processo.