在 Debian(以及所有 Linux 系统)中,inotify 是 Linux 内核提供的一种文件系统事件监控机制,全称是 inode notify。
inotify 允许程序实时监控文件或目录的变化,而不需要不断轮询(poll)文件系统。
它可以监听的事件包括:
在 Debian 中,inotify 被广泛用于:
inotify_init() 创建 inotify 实例inotify_add_watch() 添加要监控的文件或目录inotify-tools(最常用)sudo apt install inotify-tools
常用命令:
inotifywait -m /path/to/dir
示例:
inotifywait -m -e create -e delete /tmp
pyinotify(旧)、watchdogfsnotify❌ 不能监控 NFS、FTP、SMB 等网络文件系统
内核参数:
cat /proc/sys/fs/inotify/max_user_watches
查看当前限制:
sysctl fs.inotify.max_user_watches
临时修改:
sudo sysctl -w fs.inotify.max_user_watches=524288
永久修改(Debian):
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Debian 使用 systemd 时,很多服务(如 systemd-path、systemd-inotify)也依赖 inotify。
inotify 是 Debian/Linux 中用于高效、实时监听文件系统变化的内核机制,是自动化和监控类工具的核心基础。
如果你愿意,我也可以: