¿Cómo saber el desplazamiento de un archivo abierto?

¿Cómo saber el desplazamiento de un archivo abierto?

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

Por favor, dame algunas sugerencias ?

Respuesta1

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

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

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

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

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

Respuesta2

lsofPuedes hacer esto, con la -oopción.

En Linux, obtiene su información de /proc, por lo que puedeconsíguelo allítambién.

información relacionada