Trovare i file aperti con lsof

  Varie

Spesso ci si chiede quali siano i file utilizzati dal sistema operativo o da applicazioni, lsof è un comando che può essere molto utile in questo caso.

Tempo fa avevamo visto come conoscere il processo che utilizza un file tramite fuser, vediamo invece oggi l’utilizzo di lsof mediante dei pratici esempi.

lsof, acronimo di list of open file, è un programma utilizzabile da riga di comando, quindi anche da terminale, che con dei semplici parametri permette di visualizzare i file aperti da altri processi. E’ disponibile per Linxu, Aix, FreeBSD, SCO OpenServer, Solaris, NetBSD, Darwin e NEXTSTEP.

Lanciato senza parametri lsof visualizza tutti i file aperti da tutti i processi aperti, quindi per fare ciò basta lanciare da terminale:

lsof

Per visualizzare tutti i file aperti in un determinato percorso invece si usa lsof +D /percorso, ad esempio per visulizzare i file aperti nella directory var:

lsof +D /var

Per visulizzare tutti i file aperti nella directory corrente si usa il comando:

lsof +d

Per avere la lista di tutti i file aperti è necessario eseguire il comando:

lsof -i

Per la lista di tutti i file aperti da un determinato utente si usa il comando lsof -u nomeutente, ad esempio per visualizzare i file aperti dall’utente root si esegue:

lsof -u root

Per visulizzare la lista dei programmi aperti da un altro programma il comando da dare è lsof -c nomeprogramma, volendo avere la lista dei file aperti da named il comando da dare sarà:

lsof -c named

Se invece volete conoscere i file aperti da un processo in base al suo PID il comando da dare è lsof -p PID, ad esempio nel caso il vostro processo abbia il PID 22445 il comando da lanciare sarà:

lsof -p 22445

Infine per visualizzare tutti i socket collegati ad una determinata porta si può usare il comando lsof -i :porta, se vogliamo vedere i socket collegati al server web e quindi in genere alla porta 80 basterà digitare:

lsof -i :80

lsof è molto utile e le sue potenzialità non finiscono qui, come sempre vi consiglio di leggere le pagine del manuale o di lanciare lsof -h per avere la lista completa di tutte le opzioni disponibili.

2 pensieri su – "Trovare i file aperti con lsof"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.