IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

L'ordre lsof mostra (llista = list= ls) els (descriptors) fitxers oberts (of= Open files).

lsof --> "list open files"

L'ordre s'utilitza en sistemes Unix-like per tal de mostrar la llista de fitxers oberts i els processos que els han obert.

NOTA: Cal recordar que a Linux TOT són fitxers i per tant l'ordre lsof pot servir també per mostrar sockets, canonades, dispositius o altres tipus de fitxers especials

Consultar el ports associat a un dimoni

# lsof -n -P | grep sendmail
sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

O per exemple saber qui està utilitzant el port 80:

$ sudo lsof -n -P | grep :80
apache2    2567        root    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2567        root    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)
apache2    2570    www-data    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2570    www-data    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)
apache2    2571    www-data    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2571    www-data    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)
apache2    2572    www-data    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2572    www-data    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)
apache2    2573    www-data    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2573    www-data    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)
apache2    2574    www-data    3u     IPv4            3479542       0t0        TCP *:80 (LISTEN)
apache2    2574    www-data    5u     IPv4            3479546       0t0        TCP *:8081 (LISTEN)

Mostrar quin procés està bloquejant un dispositiu i impedeix desmuntar-lo

Suposem un pen-drive muntat a la carpeta /media/SERGITUR/:

$ mount
/dev/sda3 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
...
/dev/sdb1 on /media/SERGITUR type ext3 (rw,nosuid,nodev,uhelper=udisks)

I anem a desmuntar-lo però no es deixa perquè ens indica que està sent utilitzat:

$ sudo umount /media/SERGITUR/
umount: /media/SERGITUR: device is busy.
       (In some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))

Tal i com se'ns indica podem utilitzar lsof per localitzar el procés que està utilitzant el dispositiu amb:

$ sudo lsof +D /media/SERGITUR/
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    27010 sergi  cwd    DIR   8,17     4096    2 /media/SERGITUR

Sembla ser que tenim una interpret d'ordres bash utilitzant la carpeta. Podem localitzar la bash i sortir de la carpeta on el el pitjor dels casos matar el procés amb kill:

$ sudo kill -9 27010

Mostrar les aplicacions que estan utilitzant un port concret

Per exemple per saber quina aplicació utilitza el port 80:

$ sudo lsof -i :80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2 2768     root    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
apache2 2797 www-data    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
apache2 2798 www-data    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
apache2 2799 www-data    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
apache2 2800 www-data    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
apache2 2801 www-data    4u  IPv6  10959      0t0  TCP *:www (LISTEN)
firefox 3527    sergi   38u  IPv4 332890      0t0  TCP portatil.local:49072->ww-in-f166.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   43u  IPv4 338917      0t0  TCP portatil.local:58154->ww-in-f99.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   59u  IPv4 338933      0t0  TCP portatil.local:52049->ww-in-f101.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   72u  IPv4 332903      0t0  TCP portatil.local:53417->ww-in-f155.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   74u  IPv4 338952      0t0  TCP portatil.local:50248->ww-in-f104.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   78u  IPv4 339248      0t0  TCP portatil.local:53470->ww-in-f154.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   81u  IPv4 339251      0t0  TCP portatil.local:43535->gx-in-f105.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   82u  IPv4 332474      0t0  TCP portatil.local:56967->reserved-98.euroclick.com:www (ESTABLISHED)
firefox 3527    sergi   85u  IPv4 332500      0t0  TCP portatil.local:41787->ww-in-f100.1e100.net:www (ESTABLISHED)
firefox 3527    sergi   94u  IPv4 332069      0t0  TCP portatil.local:32829->a88-221-92-8.deploy.akamaitechnologies.com:www (ESTABLISHED)

Un cop localitzat el PID mateu-lo amb:

$ sudo kill PID

Si no es tanca per les bones, aleshores perr les dolentes:

$ sudo kill -9 PID

Vegeu també

Enllaços externs