Linux
文件對應於 /proc/locks
$ cat /proc/鎖 1:POSIX 建議寫入 458 03:07:133880 0 EOF 2:群諮詢寫 404 03:07:133879 0 EOF
這些欄位是:序數(1),類型(2),模式(3),類型(4),pid(5),maj:min:inode(6)start(7)end(8)。
問題:如何找到對應的文件被鎖定?
sudo find -L /proc/458/fd -maxdepth 1 -inum 133880 -print -exec readlink {} \;
要獲得所有這些:
while IFS=': ' read x x x x p x x i x; do sudo find -L "/proc/$p/fd" -maxdepth 1 -inum "$i" -exec readlink {} \; -quit done < /proc/locks
有時,
pid
被引用的程序/proc/lock
會死掉。您可以將"/proc/$p/fd"
以上內容更改/proc/*/fd
為在所有程序 fd 中查找它們。(請注意,這是一個近似值,因為我們只檢查 inode 編號,而不是設備編號,但我們選擇錯誤文件(不同 fs 上的相同 inum)的可能性非常小)。