Linux

文件對應於 /proc/locks

  • April 25, 2017
$ 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)的可能性非常小)。

引用自:https://unix.stackexchange.com/questions/108201