Determinar a qué archivos accede un proceso

9

¿Cómo averiguaría todos los archivos a los que accede un proceso en particular?

Estoy usando Ubuntu 9.04.

juan2raid
fuente

Respuestas:

11

lsof enumerará los archivos abiertos y los ID de proceso asociados. Enumera todo si no se dan opciones.

Hay una opción, -ppara enumerar los archivos abiertos para un solo proceso. Entonces, para un proceso con PID 6714, esto enumerará los archivos abiertos por ese proceso:

    lsof -p 6714

Para enumerar solo los archivos normales, grep se puede utilizar para filtrar la salida de lsof:

    lsof -p 6714 | grep REG

Si necesita ser más robusto que con grep, entonces -Fse puede usar la opción, pero luego se vuelve más compleja. Desde la página de manual de lsof :

Cuando se especifica la opción -F, lsof produce una salida adecuada para su procesamiento por otro programa, por ejemplo, un script awk o Perl, o un programa en C.

Depende de tus requerimientos.

Peter Mortensen
fuente
1
Me gusta agregar '-b' a lsof, irá un poco más rápido. Además, agrego 2> / dev / null antes de la tubería a grep.
kbyrd