Consola: Mostrar los ficheros que un proceso esta utilizando…

Este es un pequeño tip, para ver los ficheros que tiene abierto un determinado proceso, cuando digo fichero me refiero a directorios, registros, pipes, socket, bibliotecas, etc ya que como sabemos en el mundo Linux todo es un fichero :D

Para esto utilizaremos el comando lsof
Descripción:

List open files. Muestra los archivos que un proceso ha abierto para poder ejecutarse. Mas info ~ $ man lsof

Para hacer la prueba, vamos a mostrar los ficheros que tiene abierto un proceso simple como lo es el mismisimo man, ya que si queremos observar por ejemplo los procesos de Firefox, tendríamos una lista larga larga que no vale la pena mostrar en esta simple guía.

Por ejemplo visualizamos el manual del comando cp (copiar)…

chuecko@zarpele ~ $ man cp

Sin terminar el proceso anterior, desde otra terminal obtendremos el PID del proceso anterior…

chuecko@zarpele ~ $ ps -ed | grep man
   54 ?        00:00:03 kondemand/0
   55 ?        00:00:00 kondemand/1
  887 ?        00:00:00 modem-manager
 2268 ?        00:00:02 gnome-power-man
18184 pts/1    00:00:00 man

La ultima linea es la que nos interesa, el pid del proceso man (en este caso) es 18184 y ahora procedemos a listar los ficheros abiertos por este proceso.

chuecko@zarpele ~ $ lsof -p 18184
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
man     18184 chuecko  cwd    DIR    8,3     4096 196660 /usr/share/man
man     18184 chuecko  rtd    DIR    8,3     4096      2 /
man     18184 chuecko  txt    REG    8,3   173084   2036 /usr/bin/man
man     18184 chuecko  mem    REG    8,3  1319364 174375 /lib/tls/i686/cmov/libc-2.10.1.so
man     18184 chuecko  mem    REG    8,3    21840   3520 /usr/lib/libgdbm.so.3.0.0
man     18184 chuecko  mem    REG    8,3    83608    526 /lib/libz.so.1.2.3.3
man     18184 chuecko  mem    REG    8,3   113320     64 /lib/ld-2.10.1.so
man     18184 chuecko  mem    REG    8,3    20841 189160 /usr/share/locale-langpack/es/LC_MESSAGES/man-db.mo
man     18184 chuecko  mem    REG    8,3   256316 395749 /usr/lib/locale/es_AR.utf8/LC_CTYPE
man     18184 chuecko  mem    REG    8,3   966954 214312 /usr/lib/locale/es_AR.utf8/LC_COLLATE
man     18184 chuecko  mem    REG    8,3       54 395670 /usr/lib/locale/es_AR.utf8/LC_NUMERIC
man     18184 chuecko  mem    REG    8,3     2378 188952 /usr/lib/locale/es_AR.utf8/LC_TIME
man     18184 chuecko  mem    REG    8,3      286 188956 /usr/lib/locale/es_AR.utf8/LC_MONETARY
man     18184 chuecko  mem    REG    8,3       54 214315 /usr/lib/locale/es_AR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
man     18184 chuecko  mem    REG    8,3       34 395635 /usr/lib/locale/es_AR.utf8/LC_PAPER
man     18184 chuecko  mem    REG    8,3       62 395633 /usr/lib/locale/es_AR.utf8/LC_NAME
man     18184 chuecko  mem    REG    8,3      127 188957 /usr/lib/locale/es_AR.utf8/LC_ADDRESS
man     18184 chuecko  mem    REG    8,3       51 188958 /usr/lib/locale/es_AR.utf8/LC_TELEPHONE
man     18184 chuecko  mem    REG    8,3       23 395751 /usr/lib/locale/es_AR.utf8/LC_MEASUREMENT
man     18184 chuecko  mem    REG    8,3    26048 263920 /usr/lib/gconv/gconv-modules.cache
man     18184 chuecko  mem    REG    8,3      351 188960 /usr/lib/locale/es_AR.utf8/LC_IDENTIFICATION
man     18184 chuecko    0u   CHR  136,1      0t0      4 /dev/pts/1
man     18184 chuecko    1u   CHR  136,1      0t0      4 /dev/pts/1
man     18184 chuecko    2u   CHR  136,1      0t0      4 /dev/pts/1

Y listo, nos muestra todos los ficheros abiertos indicando tambien su tipo. Para mas info sobre este comando…

chuecko@zarpele ~ $ lsof --help

Saludos…


Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

2 Comentarios »

 
 

Deja un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

 
Follow Me Hazte Fan Subscribe