Linux
如何查找主要 id 為“fd”的設備
在 /proc/locks 我有:
21: POSIX ADVISORY READ 6813 fd:02:32374949 1073741826 1073742335
另一方面
/dev
,沒有任何設備的主要 id 為**fd
**. 有誰知道在這種情況下該怎麼辦?我在fedora 22上。
你確定你沒有嗎?
fd
是十進制的 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