열린 파일의 파일 오프셋을 찾는 방법은 무엇입니까?


26

내 문제는 lsof -p pid 프로세스 ID가 pid 인 프로세스의 열린 파일 목록을 찾을 수 있다는 것입니다. 그러나 액세스 된 각 파일의 파일 오프셋을 찾는 방법이 있습니까?

몇 가지 제안을 해주시겠습니까?

답변:


37

리눅스에서, 당신은 파일 기술자 번호의 위치를 찾을 수 있습니다 N과정 PID에서를 /proc/$PID/fdinfo/$N. 예:

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

여러 파일 설명자를 사용하여 다른 위치에서 동일한 파일을 여러 번 열 수 있으므로 둘 이상의 파일이있는 경우 관련 파일을 선택해야합니다. 용도:

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

해당 파일 디스크립터가 첨부 된 파일이 무엇인지 알기 위해 (파일이 아닐 수도 있습니다 (이 경우 symlink가 매달려 있음)).


1
당신의 대답은 훌륭합니다.
Ta Thanh Dinh

12

lsof-o옵션 으로이 작업을 수행 할 수 있습니다 .

Linux에서는에서 정보를 얻으/proc 므로 정보를 얻을 수 있습니다.


마지막 질문 이후 오랜 시간이 지났고 오랫동안 여기에 없었습니다. 응답 해주셔서 감사합니다.
Ta Thanh Dinh

이것도 잘 작동하는지 확인할 수 있습니다. 그러나 오프셋은 HEX로 제공됩니다.
Benjamin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.