/proc/locks에는 다음이 있습니다.
21: POSIX ADVISORY READ 6813 fd:02:32374949 1073741826 1073742335
반면 /dev
에 기본 ID가 다음과 같은 기기는 없습니다.fd
. 이런 상황에서 어떻게 해야 하는지 아는 사람 있나요? 저는 페도라 22를 사용하고 있습니다.
답변1
당신은 그것을 가지고 있지 않은 것이 확실합니까? fd
10진수로 253이며 virtblk
장치 드라이버(예: vda2)입니다.
% ls -l /dev/vda2
brw-rw---- 1 root disk 253, 2 Aug 24 07:49 /dev/vda2
또는 장치가 아닌 해당 파일이 가리키는 실제 파일을 찾으려면 /proc/6813/fd
프로세스가 어떤 파일을 열었는지 확인하고 이를 inode 번호와 비교할 수 있습니다.
/proc/locks
예를 들어 내 항목 에는 다음이 표시됩니다 .
21: FLOCK ADVISORY WRITE 1324 fd:03:390139 0 EOF
그래서
find -L /proc/1324/fd -maxdepth 1 -inum 390139 -exec readlink {} \;
(-L은 실제 파일에 대한 심볼릭 링크를 따르 /proc/.../fd
므로 대상의 inode 번호를 확인할 수 있습니다. 이는 maxdepth
디렉토리에 대한 심볼릭 링크를 따르지 않음을 의미합니다).
이 경우 나는 얻는다
# find -L /proc/1324/fd -maxdepth 1 -inum 390139 -exec readlink {} \;
/var/spool/postfix/pid/master.pid