現在のinotify時計のリスト(パス名、PID)

現在のinotify時計のリスト(パス名、PID)

次のリストをどのように取得できますか?

  • 現在inotify、およびで監視しているパス名
  • プロセスのPIDを監視する

見つけたので聞くsyncthing時計inotifyは私のディスクがアンマウントされるのを防ぎます。

以下に示すように、リストにはlsof何も表示されませんfuser

私の推測はかなり良いsyncthingですinotify


# umount /media/backup
umount: /media/backup: target is busy.
# lsof +f -- /media/backup/
# echo $?
1
# fuser -vmM /media/backup/
                     USER        PID ACCESS COMMAND
/media/backup:       root     kernel mount /media/backup
# systemctl stop syncthing@ravi
# umount /media/backup
# echo $?
0

ベストアンサー1

おそらくfdinfo時計のfdが役に立ちます。

$ readlink /proc/$(pgrep inotify)/fd/3
anon_inode:inotify
$ cat /proc/$(pgrep inotify)/fdinfo/3
pos:    0
flags:  00
mnt_id: 11
inotify wd:1 ino:357a sdev:700000 mask:fff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7a35000000000000

これはsdev、出力に示すように、メモ:マイナーデバイス番号の組み合わせとして表示されますlsblk。たとえば、次のようになります。

$ lsblk | grep 7
loop0    7:0    0  80.5M  1 loop /snap/core/2462

(私はモニターを行います/snap/core/2462。)

my /dev/sda1which is の8:1場合、出力は次のようになります。

pos:    0
flags:  00
mnt_id: 11
inotify wd:1 ino:aae1b sdev:800001 mask:fff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:1bae0a0038e16969

監視している特定のディレクトリやファイルがリストにない場合でも、これだけで削除を妨げる要因を特定するのに十分です。

おすすめ記事