TaskList

Tasklist elenca per nome tutti i processi in esecuzione e l'ID del processo. Comprende informazioni relative alla sessione utente e all'utilizzo della memoria.

TaskKill Blocca i processi in esecuzione secondo il nome o l'ID del processo. Utilizzando i filtri è inoltre possibile interrompere i processi in relazione allo stato del processo, al numero di sessione, al tempo CPU, all'utilizzo della memoria, al nome utente e così via.


Modalità Network
TaskList può essere utilizzato in modalità Network, ovvero, è possibile lanciare delle query su macchine remote. Per ricevere la lista si deve essere in possesso delle credenziali che possano eseguire il comando sulla macchina remota.

Eccone un esempio:

tasklist /s 127.0.0.1 /u MioDominio.it/MioUtente

Come si può ben capire, la lunghezza dell'output può essere considerevole, pertanto è quasi sempre consigliato eseguire il redirect dell'output su files di testo. Per fare questo è necessario modificare il codice in questo modo

tasklist >>c:\CommandLineOutput\processi.txt 

Relazione processi Servizi in Esecuzione
Si può inoltre utilizzare tasklist in modalità avanzata per andare a visualizzare la relazione tra i processi attivi ed i servizi windows che lo utilizzano. Per fare questo si deve specificare il parametro /Svc. Il quale ritornerà un risultato del tipo.

svchost.exe                  840 AudioSrv, Browser, CryptSvc, Dhcp, dmserver,
                                 ERSvc, EventSystem,
                                 FastUserSwitchingCompatibility, helpsvc,
                                 lanmanserver, lanmanworkstation, Netman,
                                 Nla, RasMan, Schedule, seclogon, SENS,
                                 SharedAccess, ShellHWDetection, srservice,
                                 TapiSrv, Themes, TrkWks, W32Time, winmgmt,
                                 wuauserv, WZCSVC

Visualizzazione degli elenchi delle DLL utilizzate dai processi
Un altra comoda funzione di TaskList è quella di visualizzare le DLL che vengono utilizzate dai processi in esecuzione.
Per visualizzare questa lista è necessario scrivere il seguente codice :

tasklist /m

L'output generato sarà simile a questo.. (in questo caso mostro solo l'utilizzo di DLL riferito al processo cmd.exe)

cmd.exe                     3320 ntdll.dll, kernel32.dll, msvcrt.dll,
                                 USER32.dll, GDI32.dll, ShimEng.dll,
                                 AcGenral.DLL, ADVAPI32.dll, RPCRT4.dll,
                                 WINMM.dll, ole32.dll, OLEAUT32.dll,
                                 MSACM32.dll, VERSION.dll, SHELL32.dll,
                                 SHLWAPI.dll, USERENV.dll, UxTheme.dll,
                                 comctl32.dll, comctl32.dll, Apphelp.
dll

TaskKill

TaskKill, come dice il nome, permette di "uccidere" i processi che corrispondo ai parametri passati al comando stesso.
Per esempio, per uccidere il processo con PID (Process ID) 114 si deve digitare il comando

TaskKill /pid 114

Se invece si preferisce uccidere il processo andando a specificare il suo ImageName (nome processo) si deve usare

TaskKill /im cmd.exe

E' anche possibile uccidere più processi a cascata su una singola istruzione. Per esempio:

TaskKill /pid 105 /pid 106 /pid 107