- Servizi: come averne la lista e terminarli dal prompt dei comandi -
 
TUTORIAL
Ottenere la lista dei servizi in esecuzione e terminarli da linea di comando

Net start: lista dei servizi in esecuzione

Net start: lista dei servizi in esecuzione
 
Tasklist /svc: lista dei servizi in esecuzione

Tasklist /svc: lista dei servizi in esecuzione
 
Taskkill del servizio Spooler (Spooler di stampa)

Taskkill del servizio Spooler (Spooler di stampa)
 


Domanda
Come è possibile avere la lista dei servizi in esecuzione da linea di comando?

Risposta
Dal prompt dei comandi di Windows (Start, Esegui, digitare cmd e dare conferma) è possibile eseguire facilmente molte delle operazioni che in genere si eseguono manualmente tramite interfaccia grafica, in particolare con l'avanzare delle versioni di Windows.
Non fa eccezione la gestione dei servizi. Per prima cosa è importante ricordare cos'è un servizio: un servizio è un programma che viene eseguito in background, senza interfacci grafica, che può svolgere i compiti più svariati, dalla gestione delle stampanti a quella del desktop, dal server web all'antivirus e tante altre funzionalità integrate nel sistema operativo. Sono in sostanza dei programmi sempre in esecuzione che possono essere autonomi o vivere in più d'uno in un solo processo (tipicamente ma non per forza, chiamato svchost.exe).
Vediamo per prima cosa come è possibile ottenere la lista di servizi in esecuzione senza ricorrere a services.msc. Dal prompt dei comandi semplicemente digitare

net start

Questo comando mostrerà una serie di nomi estesi dei servizi correntemente in esecuzione. Se si desidera terminarne uno, ad esempio il servizio "Audio di Windows" basterà digitare

net stop "Audio di Windows"

E quindi per riavviarlo

net start "Audio di Windows"

Se per qualche problema che si è verificato con il servizio si vuole arrestarlo e riavviarlo questa coppia di comandi può essere utile e spesso è la soluzione più semplice a molti problemi.
Un metodo alternativo per recuperare la lista di servizi in esecuzione è dare il seguente comando:

tasklist /svc

Il comando mostrerà la lista di tutti i processi in esecuzione, con nome, PID e nell'ultima colonna il nome (in versione breve) di eventuali servizi contenuti all'interno del processo. Questi nomi brevi possono essere utilizzati alternativa a quelli estesi, ad esempio se si vuole terminare il servizio "Audio di Windows" è anche possibile utilizzare il seguente comando:

net stop Audiosvc

Domanda
Come si può terminare un servizio da linea di comando se il comando net stop non funziona?

Risposta
Se con il comando net stop, si dovesse ricevere un errore che rende impossibile l'arresto del servizio si può provare a terminare il processo che contiene il servizio. Per fare questo occorre prima di tutto individuare il PID (ovvero l'identificatore univoco) del processo tramite il comando tasklist /svc, come visto poco fa, cercando nell'ultima colonna mostrata un riferimento al servizio. In secondo luogo bisogna verificare quali altri servizi sono in esecuzione nello stesso processo, è importante accertarsi che tra questi non ve ne siano di critici, o meglio ancora che sia l'unico, poiché terminare servizi di sistema critici potrebbe rendere instabile il sistema.
Una volta individuato il PID, sempre dal prompt dare il seguente comando:

taskkill /PID pidDelServizio /F

Dove il parametro F indica che si deve tentare di forzare la terminazione del processo. Se questo non dovesse essere sufficiente consultare l'articolo su come terminare qualsiasi processo.

 

<< INDIETRO