0

我在守护进程模式下运行 inotifywait (inotify-tools-3.14-1),但是,它给出了以下错误并且没有建立手表。此外,由于它在 while 循环中,因此创建了许多 inotifywait 守护进程。

如果使用 --monitor 而不是 --daemon 运行,我没有这样的问题。有人可以帮忙修复它吗?非常感谢。

"无法初始化 inotify。您运行的是 Linux 2.6.13 或更高版本,并且在编译内核时是否启用了 CONFIG_INOTIFY 选项?如果是这样,则出现了一些神秘的问题。请发送电子邮件至 radu.voicilas@gmail.com 和提到你看到了这条消息。

下面是代码:

while true  # run indefinitely
do
  inotifywait --daemon --outfile /tmp/daemon.log --event close_write --format '%w%f %e %T' --timefmt '%F %T' $folder |  while read eventInfo
     do
        call_another_fun $eventInfo
        break
     done
   done
4

3 回答 3

4

当后台运行的 inotify 进程太多时,我也会收到“无法初始化 inotify ...”错误消息。Apkill inotify解决了这个问题。

于 2016-05-27T08:06:48.260 回答
0

卸载

apt-get remove inotify-tools

然后重新安装

apt-get install inotify-tools

为我解决了。在卸载和重新安装之间,我碰巧也运行过sudo apt autoremove,但我怀疑它是否是解决方案的一部分。

于 2021-11-11T17:44:31.700 回答
0

您应该增加 inotify 实例的最大数量。

sudo sysctl fs.inotify.max_user_instances=2048

在我的桌面系统上,128 个实例的默认值对于一些文件浏览器、IDE 和电子应用程序来说太低了。它们都有多个 inotify 实例。

要使其永久化,请将此行添加到/etc/sysctl.conf

fs.inotify.max_user_instances=2048
于 2022-02-11T15:18:11.810 回答