Come scoprire l'offset del file di un file aperto?


26

Il mio problema è che con lsof -p pid posso trovare l'elenco dei file aperti di un processo il cui ID processo è pid. Ma c'è un modo per scoprire l'offset del file di ciascun file a cui si accede?

Per favore mi dia qualche suggerimento?

Risposte:


38

Su Linux, puoi trovare la posizione del numero Ndel descrittore di file del processo PIDin /proc/$PID/fdinfo/$N. Esempio:

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

Lo stesso file può essere aperto più volte con posizioni diverse utilizzando diversi descrittori di file, quindi dovrai scegliere quello pertinente nel caso ce ne siano più di uno. Uso:

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

per sapere qual è il file a cui è allegato il descrittore di file corrispondente (potrebbe non essere un file, in questo caso il collegamento simbolico è penzolante).


1
La tua risposta è fantastica
Ta Thanh Dinh,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.