lsof (abreviació de list of open files, en català, llista de fitxers oberts) és una coneguda eina de monitoratge de sistemes operatius tipus Unix que s'utilitza per mostrar tots els arxius de disc que mantenen oberts els processos, incloent els sockets de xarxa oberts, canonades, entre altres tipus.[1]
La comanda lsof ofereix a l'usuari informació detallada sobre el context on s'utilitza l'arxiu. Entre la informació es troba:
Nom i ID del procés,
Nom o id de l'usuari que va llançar aquest procés,
El descriptor d'arxiu juntament amb la manera d'obertura (lectura, escriptura, etc ..),
El tipus de node associat a la imatge: Canonada (FIFO), Socket IPv4, Socket IPv6, Directori, bloc de dispositius, etc ..
La ruta absoluta de l'arxiu o bé informació relativa segons el tipus,
A la invocació de la comanda lsof, es permet identificar quins processos estan utilitzant el o els arxius indicats.
Algun dels paràmetres que té lsof són:
-a
Permet que les opcions (paràmetres) siguin requisits per llistar. Útil quan es "filtra" usant -c, -g, -o o -p.
-c CADENA
Llista els arxius dels processos que comencin amb CADENA
-d FDs
Determina que s'han d'excloure el o els Descriptors d'Arxius (FD) de la llista. Els valors se separen per comes.
+d DIRECTORI
Llista els processos que utilitzin el directori o bé algun dels arxius que contingui.
+D DIRECTORI
ídem a l'anterior però recursiu: inclou els subdirectoris i arxius que aquests continguin
-I
Llista els sockets oberts.
-g GID
Llista els arxius llançats pel GID (ID de Grup) indicat.
-n
No resol els noms de domini.
-p PID
Llista els arxius oberts pel procés amb el PID (identificador de procés) indicat.
-P
No resol els noms dels ports (connexions).
[+|-]r [N [mCADENA]]
Imprimeix en pantalla el resultat cada N segons, si no s'especifica s'executa cada 15. Si s'utilitza el prefix '-' es repeteix aquesta operació fins que l'usuari el cancel · (ctrl+C), en canvi si s'utilitza el prefix '+', el procés acaba quan no hi hagi fitxers llistats. Addicionalment entre cada actualització és possible indicar quina és la cadena de text que separa cada resultat, mitjançant m CADENA. En cas de no indicar cap cadena, per defecte s'utilitza '======='.
-u [ usuari | UID]
Llista els arxius oberts per l'usuari o bé UID (identificador d'usuari).