How do I get a list of:
- Pathnames currently being watched by
inotify
, and - PID of the process watching
I ask because I have found that syncthing
's inotify
watches were preventing my disk from being unmounted.
As can be seen below, nothing appears in lsof
or fuser
listings.
I guessed well with syncthing
… How do I remove the guesswork in future if a disk won't unmount due to 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
Best Answer
Maybe the
fdinfo
for the fd of the watch can be useful:The
sdev
seems to be the major:minor device number combination, as seen in the output oflsblk
, for example:(I was indeed monitoring
/snap/core/2462
.)For my
/dev/sda1
which is8:1
, the output looked like so:This should be sufficient to find out what's blocking unmounting, even though the specific directories or files being watched aren't listed.