Monday, November 24, 2008

Conociendo fuser (que proceso usa un socket o un sistema de archivos)

fuser es una utilidad que sirve para averiguar que proceso esta usando un archivo, socket o sistema de archivos.

El otro dia necesite saber que proceso estaba abriendo el puerto 113, entonces ahi vino fuser al rescate:

fuser -n tcp 113

lo cual me devolvio

113/tcp: 2786

El numero 2786 que vemos en la salida indica (en mi caso) que el proceso con numero 2786 esta abriendo el puerto 113 tcp. Por supuesto se puede cambiar el "space" y en vez de usar tcp, usar udp si es necesario.

Otro uso muy util es para averiguar que procesos estan usando un filesystem, y se usa de la siguiente manera:

# fuser -m -u /dev/sda3
/dev/sda3: 1rce(root) 2rc(root) 3rc(root) 4rc(root) 5rc(root) 6rc(root) 9rc(root) 10rc(root) 103rc(root) 143rc(root) 144rc(root) 145rc(root) 146rc(root) 595rc(root)

y la lista continua pero la corto por una cuestion de simplicidad ...

Lo que podemos ver en la salida del comando es el numero de proceso seguido por algunas letras y entre parentesis el propietario o usuario del proceso. Las letras que se ven tienen el siguiente significado:

c = current directory / directorio actual
e = executable being run / ejecutable siendo corrido
f = open file / archivo abierto
F = open file for writing / archivo abierto para escritura
r = root directory / directorio de root
m = mmap'ed file or shared library / archivo de mmap o libreria compartida

Espero que les resulte util como a mi ;-)

Saludos !

No comments:

Followers

About me

Santa Fe, Argentina
Programador Web, PHP, MySQL, JQuery, Administrador Linux. LAMP, Lighttpd, Nginx.