Il comando lsof (list open files) è un comando dei sistemi operativi Unix e Unix-like che permette di visualizzare informazioni sui file aperti dai processi in esecuzione. Dato che in ambiente *nix anche l'accesso a dispositivi, socket e pipe avviene come se fossero dei normali file, è possibile utilizzare lsof per analizzarli.
Questo rende lsof un utile strumento per i sistemisti nella raccolta di informazioni diagnostiche sul sistema.
Per elencare tutti i socket TCP aperti e da quali processi è possibile utilizzare il comando
sudo lsof -i TCP
Per visualizzare quali processi utilizzano la porta 80 in locale o in remoto.
sudo lsof -i TCP:80
Per elencare tutti i file aperti da un singolo processo indicando il suo PID
sudo lsof -p 747
FIG 3 - lsof, file aperti da uno specifico processo |