Se hai mai sfogliato Task Manager, potresti esserti chiesto perché ci sono così tanti processi host di servizi in esecuzione. Non puoi ucciderli e sicuramente non li hai avviati. Allora, cosa sono?
Il processo Service Host funge da shell per il caricamento di servizi da file DLL. I servizi sono organizzati in gruppi correlati e ogni gruppo viene eseguito all'interno di un'istanza diversa del processo host del servizio. In questo modo, un problema in un'istanza non influisce su altre istanze. Questo processo è una parte vitale di Windows di cui non puoi impedire l'esecuzione.
Questo articolo fa parte di la nostra serie in corso spiegando vari processi trovati in Task Manager, come dwm.exe , ctfmon.exe , mDNSResponder.exe , conhost.exe , rundll32.exe , Adobe_Updater.exe , e molti altri . Non sai cosa sono questi servizi? Meglio iniziare a leggere!
Allora, qual è il processo host del servizio?
Ecco la risposta, secondo Microsoft:
Svchost.exe è un nome di processo host generico per i servizi eseguiti da librerie a collegamento dinamico.
Ma questo non ci aiuta davvero molto. Qualche tempo fa, Microsoft ha iniziato a modificare gran parte delle funzionalità di Windows dal fare affidamento sui servizi interni di Windows (che funzionavano da file EXE) all'utilizzo invece di file DLL. Dal punto di vista della programmazione, questo rende il codice più riutilizzabile e probabilmente più facile da mantenere aggiornato. Il problema è che non puoi avviare un file DLL direttamente da Windows nello stesso modo in cui puoi eseguire un file eseguibile. Al contrario, una shell caricata da un file eseguibile viene utilizzata per ospitare questi servizi DLL. E così è nato il processo Service Host (svchost.exe).
Perché sono in esecuzione così tanti processi host di servizi?
RELAZIONATO: Che cos'è questo processo e perché è in esecuzione sul mio PC?
Se hai mai dato un'occhiata alla sezione Servizi nel Pannello di controllo, probabilmente avrai notato che Windows richiede molti servizi. Se ogni singolo servizio è stato eseguito in un unico processo host di servizio, un errore in un servizio potrebbe potenzialmente arrestare tutto Windows. Invece, sono separati.
I servizi sono organizzati in gruppi logici che sono tutti in qualche modo correlati, quindi viene creata un'unica istanza di host del servizio per ospitare ogni gruppo. Ad esempio, un processo Host di servizi esegue i tre servizi relativi al firewall. Un altro processo dell'host del servizio potrebbe eseguire tutti i servizi relativi all'interfaccia utente e così via. Nell'immagine seguente, ad esempio, è possibile vedere che un processo Host di servizi esegue diversi servizi di rete correlati, mentre un altro esegue servizi relativi a chiamate di procedura remota.
C'è qualcosa che posso fare con tutte queste informazioni?
RELAZIONATO: Dovresti disabilitare i servizi di Windows per velocizzare il tuo PC?
Onestamente, non molto. Ai tempi di Windows XP (e delle versioni precedenti), quando i PC avevano risorse molto più limitate e i sistemi operativi non erano così ottimizzati, spesso si consigliava di impedire a Windows di eseguire servizi non necessari. Questi giorni, sconsigliamo di disabilitare i servizi più. I PC moderni tendono ad essere caricati con memoria e processori ad alta potenza. Aggiungilo al fatto che il modo in cui i servizi di Windows vengono gestiti nelle versioni moderne (e quali servizi vengono eseguiti) è stato semplificato, e l'eliminazione dei servizi che pensi di non aver bisogno non ha più un grande impatto.
Detto questo, se noti che una particolare istanza di Service Host, o un servizio correlato, sta causando problemi, come un utilizzo eccessivo della CPU o della RAM, puoi verificare i servizi specifici coinvolti. Questo potrebbe almeno darti un'idea di dove iniziare la risoluzione dei problemi. Ci sono alcuni modi per vedere esattamente quali servizi sono ospitati da una particolare istanza di Service Host. Puoi controllare le cose all'interno di Task Manager o utilizzando un'ottima app di terze parti denominata Process Explorer.
Controlla i servizi correlati in Task Manager
Se utilizzi Windows 8 o 10, i processi vengono visualizzati nella scheda "Processi" di Task Manager con i loro nomi completi. Se un processo funge da host per più servizi, è possibile visualizzare tali servizi semplicemente espandendo il processo. Ciò semplifica l'identificazione dei servizi che appartengono a ciascuna istanza del processo Host del servizio.
È possibile fare clic con il pulsante destro del mouse su qualsiasi singolo servizio per interrompere il servizio, visualizzarlo nell'app del pannello di controllo "Servizi" o persino cercare in linea informazioni sul servizio.
Se utilizzi Windows 7, le cose sono leggermente diverse. Il Task Manager di Windows 7 non raggruppava i processi allo stesso modo, né mostrava i nomi dei processi regolari: mostrava solo tutte le istanze di "svchost.exe" in esecuzione. Hai dovuto esplorare un po 'per determinare i servizi relativi a una particolare istanza di "svchost.exe".
Nella scheda "Processi" di Task Manager in Windows 7, fare clic con il pulsante destro del mouse su un particolare processo "svchost.exe", quindi scegliere l'opzione "Vai al servizio".
Questo ti farà passare alla scheda "Servizi", dove sono selezionati tutti i servizi in esecuzione sotto quel processo "svchost.exe".
Puoi quindi vedere il nome completo di ogni servizio nella colonna "Descrizione", in modo da poter scegliere di disabilitare il servizio se non desideri che venga eseguito o risolvere il motivo per cui ti dà problemi.
Controllare i servizi correlati utilizzando Process Explorer
Microsoft fornisce anche un eccellente strumento avanzato per lavorare con i processi come parte della sua linea Sysinternals. Basta scaricare Process Explorer ed eseguilo: è un portable app , quindi non è necessario installarlo. Process Explorer fornisce tutti i tipi di funzionalità avanzate e consigliamo vivamente di leggere il nostro guida alla comprensione di Process Explorer per saperne di più.
RELAZIONATO: Che cos'è un'app "portatile" e perché è importante?
Per i nostri scopi qui, tuttavia, Process Explorer raggruppa i servizi correlati in ogni istanza di "svchost.exe". Sono elencati in base ai nomi dei file, ma nella colonna "Descrizione" vengono visualizzati anche i nomi completi. Puoi anche passare il puntatore del mouse su uno qualsiasi dei processi "svchost.exe" per visualizzare un popup con tutti i servizi relativi a tale processo, anche quelli che non sono attualmente in esecuzione.
Questo processo potrebbe essere un virus?
Il processo stesso è un componente ufficiale di Windows. Sebbene sia possibile che un virus abbia sostituito il vero host del servizio con un suo eseguibile, è molto improbabile. Se vuoi essere sicuro, puoi controllare il percorso del file sottostante del processo. In Task Manager, fare clic con il pulsante destro del mouse su qualsiasi processo host di servizio e scegliere l'opzione "Apri percorso file".
Se il file è archiviato nella cartella Windows \ System32, puoi essere abbastanza certo di non avere a che fare con un virus.
RELAZIONATO: Qual è il miglior antivirus per Windows 10? (Windows Defender è abbastanza buono?)
Detto questo, se vuoi ancora un po 'più di tranquillità, puoi sempre eseguire la scansione dei virus utilizzando il tuo antivirus preferito . Meglio prevenire che curare!