| 4 commenti ]
Se stai leggendo questo articolo è perchè ti starai chiedendo come mai nel tuo Task Manager ci sono parecchi processi in esecuzione con il nome svchost.exe.
Non riesci a terminarli e non ricordi di averli mai avviati ... ma allora ... cosa è svchost.exe?


Il file svchost.exe è il nome di un processo host generico per servizi Win32 eseguito da librerie di collegamento dinamico (DLL).

Qualche tempo fa, Microsoft ha iniziato a spostare tutte le funzionalità dai servizi interni in Windows ai file .dll al posto dei file .exe.
Senza dubbio una scelta che dal punto di vista della programmazione rende di più il senso della riusabilità ... ma il problema è che non è possibile avviare un file .dll direttamente da Windows, esso deve essere caricato attraverso un file eseguibile (. exe). E' proprio questo il ruolo del processo svchost.exe .

Perché ci sono così tanti svchost.exe in esecuzione?

Se hai mai dato un'occhiata alla sezione Servizi del Pannello di controllo avrai notato che ci sono un sacco di servizi richiesti da Windows.
Se ogni singolo servizio girasse sotto un' unica istanza di svchost.exe , un fallimento da parte di uno di questi ricadrebbe su tutti i servizi di Windows ... ecco perchè sono separati.

Tali servizi sono organizzati in gruppi logici e quindi viene creato ogni singolo processo per ciascun gruppo. Ad esempio, un' istanza svchost.exe fa girare 3 servizi relativi al firewall.

Come fermare svchost.exe?

Puoi disattivare i servizi non necessari o fermare i servizi che non vuoi assolutamente che siano in esecuzione. Inoltre, se noti che un singolo svchost.exe appesantisce molto l'utilizzo della CPU puoi riavviare i servizi in esecuzione sotto a quello specifico svchost.exe.

Il problema più grosso è individuare quali servizi sono in esecuzione sotto un determinato svchost.exe ... è ciò che mi sto accingendo a spiegare.

Verifica da riga di comando (Vista o XP Pro)

Se vuoi vedere quali servizi sono stati accolti da un particolare svchost.exe, è possibile utilizzare il comando Tasklist dal prompt dei comandi per visualizzare l'elenco dei servizi.
- In Windows Xp bisogna andare su Start--->Esegui-->digitare command e dare Invio.
- In Windows Vista bisogna andare su Start, poi su Esegui e digitare Cmd nella casella Inizia ricerca, oppure su Start-->Tutti i Programmi-->Accessori-->Prompt dei comandi.

Nella finestra nera che si apre (schermata dos) bisogna digitare Tasklist /SVC (seguito da Invio).


Il problema dell' utilizzo del metodo della riga di comando è che non necessariamente puoi sapere a cosa si riferiscono questi nomi.

Verifica nel Task Manager in Vista

Apri il task Manager e clicca sul pulsante in basso a sinistra : Mostra i processi di tutti gli utenti.

Dopodichè fai clic destro su un particolare processo svchost.exe e poi scegli l' opzione "Vai ai servizi".



Ciò ti porterà alla scheda Servizi, in cui saranno selezionati i servizi che girano sotto il processo svchost.exe :


L' aspetto positivo dell' utilizzo di questo metodo è che puoi vedere il vero nome del processo nella colonna Descrizione, quindi da qui puoi scegliere di disattivare il servizio se non desideri che sia in esecuzione (tasto destro e scegli Arresta servizio).


Uso di Process Explorer in Vista o XP

È possibile utilizzare l' ottimo programma di utilità Process Explorer di Microsoft / Sysinternals per vedere quali servizi sono in esecuzione come parte di un processo svchost.exe.
Basterà portarsi con il mouse su uno dei processi svchost.exe e verrà mostrato un elenco di tutti i servizi:


Oppure puoi fare doppio clic su un processo svchost.exe e selezionare la scheda Servizi da cui potrai scegliere di interrompere uno dei servizi a tua scelta premendo il tasto Stop


Uso di Svchost Viewer
Un altro ottimo tool standalone (non necessita di installazione) è Svchost Viewer che fornisce alcune informazioni circa i processi svchost.exe quali il nome, la descrizione e il percorso del servizio cui si riferisce.
I servizi relativi a ciascun svchost sono elencati nel pannello a sinistra, con un click su uno di essi otterrai informazioni dettagliate circa ciascun servizio sul pannello di destra.


Disattivazione dei Servizi

* In Windows Vista: Fare clic sul pulsante Start e nel campo "Inizia Ricerca " scrivere services.msc, quindi premere Invio.

* In Windows XP:
1. Andare su Start poi su Esegui

2. Nella finestra che si apre, digitare: services.msc


3. Fare clic su OK e si aprirà la finestra relativa ai Servizi

4. Scorrere verso il basso fino ad individuare sotto la colonna Nome il processo che si desidera disattivare e fare clic su di esso per selezionarlo.

5. Poi tasto destro sul processo selezionato e scegliere Proprietà:


6. Nella finestra che si apre, alla voce Tipo di avvio fare clic sulla freccia del menu a discesa e scegliere Disabilitato (o Manuale, se volete per l' appunto avviarlo manualmente, ma in questo modo non lo arresterete definitivamente).

7. Quindi, fare clic su OK, ma prima di farlo, se si vuole fermare quel processo che attualmente è in esecuzione, fare clic sul pulsante Arresta, adesso non resta che confermare il tutto cliccando su OK.


Potresti anche utilizzare il prompt dei comandi per disabilitare il servizio.
Nell' esempio sopra riportato "MSDTC" è il nome del servizio, quindi nel prompt bisogna digitare:

sc config MSDTC start = disabled
Related Posts with Thumbnails

4 commenti

Scar ha detto... @ 28 aprile 2009 19:35

sei sempre la migliore..! ;)

Laura ha detto... @ 28 aprile 2009 19:36

Grazie :)

Anonimo ha detto... @ 23 giugno 2010 14:40

cosa ha di cosi pericoloso tutti quei svchost??

Chiara ha detto... @ 24 giugno 2010 14:12

Nessun pericolo,sono processi di windows.

Posta un commento

Il tuo commento è in attesa di essere pubblicato,ti invito pertanto a non scrivere più volte lo stesso commento e ad attenderne la moderazione e la successiva pubblicazione.Grazie!