linux – ¿Cómo averiguar el desplazamiento de archivo de un archivo abierto?

Pregunta:

Mi problema es que con lsof -p pid puedo encontrar la lista de archivos abiertos de un proceso cuyo ID de proceso es pid. Pero, ¿hay alguna manera de averiguar el desplazamiento de archivo de cada archivo al que se accede?

Por favor, dame algunas sugerencias ?

Respuesta:

En Linux, puede encontrar la posición del descriptor de archivo número N del proceso PID en /proc/$PID/fdinfo/$N Ejemplo:

$ cat /proc/687705/fdinfo/36
pos:    26088
flags:  0100001

El mismo archivo se puede abrir varias veces con diferentes posiciones utilizando varios descriptores de archivo, por lo que tendrás que elegir el que corresponda en el caso de que haya más de uno. Usar:

$ readlink /proc/$PID/fd/$N

para saber cuál es el archivo al que se adjunta el descriptor de archivo correspondiente (puede que no sea un archivo, en este caso el enlace simbólico está colgando).

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım