Chiudere i processi da linea di comando con Taskkill


Taskkill è uno strumento presente in Windows con il quale è possibile chiudere i processi direttamente da linea di comando.

La prima cosa da fare per utilizzarlo è quindi aprire un prompt dei comandi con permessi amministrativi.

command-prompt

Per ottenere l’elenco dei processi in esecuzioni possiamo usare il comando Tasklist
C:\>tasklist

Nome immagine           PID        Nome sessione    Sessione Utilizzo mem
========================= ====== ================
System Idle Process        0 Console                 0         28 K
System                                  4 Console                 0     79.528 K
smss.exe                       1008 Console                 0        416 K
csrss.exe                        1056 Console                 0      4.800 K

Il risultato mostra informazioni come il nome del processo, l’ID del processo, la sessione e la memoria utilizzata.

A questo punto si hanno a disposizione le informazioni necessarie per individuare i processi da chiudere.
Per terminare un processo usando il suo nome si utilizza l’opzione /IM
C:\>Taskkill /IM firefox.exe /F
In questo caso il processo firefox.exe sarà terminato.
L’opzione /F specifica che la chiusura del processo sarà forzata. Se non si usa questa opzione è possibile che in alcuni casi il processo non venga terminato.

Il limite dell’opzione /IM è che causa la chiusura di tutti i processi firefox.exe.
Se si hanno più processi non lo stesso nome e se ne vuole chiudere solo uno è necessario usare l’opzione /PID specificando l’id del processo da terminare.
C:\>Taskkill /PID 12000 /F

Il punto di forza di Taskkill è da individuare nella possibilità di filtrare i processi usando le variabili e gli operatori a disposizione con l’opzione /FI.
In particolare lo strumento mette a disposizione le seguenti variabili
STATUS
IMAGENAME
PID
SESSION
CPUTIME
MEMUSAGE
USERNAME
MODULES
SERVICES
WINDOWTITLE
e i seguenti operatori
eq (uguale a)
ne (diverso da)
gt (maggiore di)
lt (minore di)
ge (maggiore o uguale a)
le (minore o uguale a)
* (carattere jolly)

Un esempio di utilizzo è nel seguente comando
C:\>taskkill /FI “USERNAME eq Utente1” /F
In questo modo vengono chiusi tutti i processi eseguiti da Utente1

Taskkill è utilizzabile anche per terminare i processi su un computer remoto
C:\>taskkill /S computer1 /U user1 /P password /IM notepad.exe /F
/S – Specifica il computer sul quale terminare i processi.
/U – L’utente con cui collegarsi al computer remoto.
/P – La password dell’utente specificato.