Trovare File e Processi in Uso – Handle

Handle è uno strumento eseguibile da linea di comando che permette di identificare quali handle sono aperti e da che processi sono in uso.

La sintassi per utilizzare Handle è la seguente

handle [[-a] [-u] | [-c <handle> [-y]] | [-s]] [-p <process>|<pid>] [name]

-a – Mostra tutte le informazioni sugli handle.

-c – Chiude l’handle specificato.

-s – Mostra il numero di handle aperti per ogni tipo.

-u – Visualizza l’utente.

-p – Mostra gli handle relativi al processo specificato.

Name – Cerca gli handle con il nome specificato.

Eseguendo il tool senza parametri si ottiene il seguente output

Ogni processo e i relativi handle sono separati da una linea tratteggiata.

Per ogni processo nella prima riga viene mostrato il nome, il PID e l’utente con cui è in esecuzione.

Nelle righe successive sono visualizzati gli handle aperti dal processo e ogni riga contiene l’handle rappresentato da un numero esadecimale, il tipo di oggetto e il nome.

Di default vengono mostrati solo gli handle che fanno riferimento a file quindi se si vuole visualizzare la lista completa è necessario utilizzare il parametro -a.

Una delle funzionalità più interessanti di Handle è la possibilità di cercare gli handle che corrispondono a una certa stringa.

handle .txt

Con questo comando possiamo individuare tutti i file con estensione txt aperti e i relativi processi.

Questo è molto utile quando il sistema ci impedisce di eliminare un file perchè risulta in uso e vogliamo determinare quale risorsa lo sta utilizzando.

Una volta che abbiamo individuato l’handle che ci interessa lo possiamo chiudere utilizzando il parametri -c e -p.

Con -c specifichiamo l’id esadecimale dell’handle mentre con -p indichiamo il pid del processo.

Il pid del processo va specificato perchè gli handle sono unici solo all’interno dello stesso processo quindi è possibile che a livello di sistema più di uno abbia lo stesso id.