Mój problem polega na tym,
lsof -p pid
że mogę znaleźć listę otwartego pliku procesu, którego identyfikator procesu to pid. Ale czy istnieje sposób, aby ustalić przesunięcie pliku dla każdego dostępnego pliku?
Proszę o sugestie?
Mój problem polega na tym,
lsof -p pid
że mogę znaleźć listę otwartego pliku procesu, którego identyfikator procesu to pid. Ale czy istnieje sposób, aby ustalić przesunięcie pliku dla każdego dostępnego pliku?
Proszę o sugestie?
Odpowiedzi:
W systemie Linux można znaleźć pozycję numer deskryptora pliku Nprocesu PIDw /proc/$PID/fdinfo/$N. Przykład:
$ cat /proc/687705/fdinfo/36
pos: 26088
flags: 0100001
Ten sam plik można otworzyć kilka razy w różnych pozycjach za pomocą kilku deskryptorów plików, więc musisz wybrać odpowiedni plik, jeśli jest ich więcej niż jeden. Posługiwać się:
$ readlink /proc/$PID/fd/$N
wiedzieć, jaki jest plik, do którego dołączony jest odpowiedni deskryptor pliku (może to nie być plik, w tym przypadku dowiązanie symboliczne zwisa).
lsofmożna to zrobić z -oopcją.
W Linuksie pobiera informacje /proc, więc możesz je również tam znaleźć .