Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
lsof est une commande très utile pour retrouver quel utilisateur ou quel programme utilise quels fichiers. Or dans linux , “tout est fichier” ( périphériques, dossiers, … et même les “sockets” des connexions réseau. Cet outil permet donc de facilement surveiller les activités d'un programme : qui l'utilise, quels fichiers utilise-t-il, utilise-t-il le réseau etc…
apt-get install lsof
.
lsof --help
affiche un bref résumé des options:
lsof 4.86 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[gG]] [+|-e s] [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s] [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names] Defaults in parentheses; comma-separated set (s) items; dash-separated ranges. -?|-h list help -a AND selections (OR) -b avoid kernel blocks -c c cmd c ^c /c/[bix] +c w COMMAND width (9) +d s dir s files -d s select by FD set +D D dir D tree *SLOW?* +|-e s exempt s *RISKY* -i select IPv[46] files -K list tasKs -l list UID numbers -n no host names -N select NFS files -o list file offset -O no overhead *RISKY* -P no port names -R list paRent PID -s list file size -t terse listing -T disable TCP/TPI info -U select Unix socket -v list version info -V verbose search +|-w Warnings (+) -X skip TCP&UDP* files -- end option scan +f|-f +filesystem or -file names +|-f[gG] flaGs -F [f] select fields; -F? for help +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0) +m [m] use|create mount supplement +|-M portMap registration (-) -o o o 0t offset digits (8) -p s exclude(^)|select PIDs -S [t] t second stat timeout (15) -T qs TCP/TPI Q,St (s) info -g [s] exclude(^)|select and print process group IDs -i i select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list] +|-r [t[m<fmt>]] repeat every t seconds (15); + until no files, - forever. An optional suffix to t is m<fmt>; m must separate t from <fmt> and <fmt> is an strftime(3) format for the marker line. -s p:s exclude(^)|select protocol (p = TCP|UDP) states by name(s). -u s exclude(^)|select login|UID set s -x [fl] cross over +d|+D File systems or symbolic Links names select named files or files on named file systems Anyone can list all files; /dev warnings disabled; kernel ID check disabled.
Manuel complet :
man lsof
ou version française : ici
Appelé seule, lsof liste tous les fichiers ouverts appartenant à tous les processus actifs:
lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 254,0 4096 2 / init 1 root rtd DIR 254,0 4096 2 / init 1 root txt REG 254,0 35216 4522 /sbin/init [...] lsof 3378 root 6r FIFO 0,8 0t0 12855 pipe lsof 3379 root cwd DIR 254,2 4096 129537 /home/debi1 lsof 3379 root rtd DIR 254,0 4096 2 / lsof 3379 root txt REG 254,0 161852 31033 /usr/bin/lsof
ou
affiché par lsof | correspond à |
COMMAND | le processus utilisant ce fichier |
PID | numéro identifiant du processus |
TID | numéro identifiant de la tâche |
USER | utilisateur |
FD | (File Descriptor) REG=fichier régulier , DIR=Dossier… |
NAME | nom du fichier ouvert |
lsof -u toto
lsof +D /tmp
(pratique pour trouver le fichier encore ouvert sur une partition qui ne peut donc pas être démontée):
lsof /dev/hd4
lsof -p PID
lsof -i
sudo lsof -nP -i tcp:80 | grep LISTEN