Wie finde ich den Datei-Offset einer geöffneten Datei heraus?

Wie finde ich den Datei-Offset einer geöffneten Datei heraus?

Mein Problem ist, dass ich damit lsof -p pid die Liste der geöffneten Dateien eines Prozesses herausfinden kann, dessen Prozess-ID pid ist. Aber gibt es eine Möglichkeit, den Dateioffset jeder aufgerufenen Datei herauszufinden?

Bitte geben Sie mir einige Vorschläge.

Antwort1

Unter Linux können Sie die Position der Dateideskriptornummer Ndes Prozesses PIDin finden /proc/$PID/fdinfo/$N. Beispiel:

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

Dieselbe Datei kann mehrmals an verschiedenen Positionen mit verschiedenen Dateideskriptoren geöffnet werden. Wenn es also mehrere gibt, müssen Sie den entsprechenden auswählen. Verwenden Sie:

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

um zu wissen, an welche Datei der entsprechende Dateideskriptor angehängt ist (es muss sich nicht unbedingt um eine Datei handeln, in diesem Fall hängt der symbolische Link).

Antwort2

lsof-oist dies mit der Option möglich .

Unter Linux erhält es seine Informationen von /proc, so dass Siehol es dir dortsowie.

verwandte Informationen