![열린 파일의 파일 오프셋을 찾는 방법은 무엇입니까?](https://linux55.com/image/21793/%EC%97%B4%EB%A6%B0%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%8C%8C%EC%9D%BC%20%EC%98%A4%ED%94%84%EC%85%8B%EC%9D%84%20%EC%B0%BE%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 문제는
lsof -p pid
프로세스 ID가 pid인 프로세스에 대해 열린 파일 목록을 찾을 수 있다는 것입니다. 하지만 액세스된 각 파일의 파일 오프셋을 찾는 방법이 있습니까?
조언 좀 해주세요.
답변1
Linux에서는 에서 N
프로세스의 파일 설명자의 위치를 찾을 수 있습니다. 예:PID
/proc/$PID/fdinfo/$N
$ cat /proc/687705/fdinfo/36
pos: 26088
flags: 0100001
여러 파일 설명자를 사용하면 동일한 파일을 다른 위치에서 여러 번 열 수 있으므로 파일 설명자가 여러 개인 경우 해당 파일 설명자를 선택해야 합니다. 사용:
$ readlink /proc/$PID/fd/$N
해당 파일 설명자가 어떤 파일에 첨부되어 있는지 확인합니다(심볼릭 링크가 매달려 있는 경우 파일이 아닐 수도 있음).
답변2
lsof
이는 옵션을 통해 수행할 수 있습니다 -o
.
Linux에서는 정보를 가져오므 /proc
로 다음을 수행할 수 있습니다.거기로 가져가게다가.