我想使用 Java 7 WatchService监视 /proc
文件夹,但这不起作用(不报告文件夹中所做的更改)。我已经测试了其他文件夹,例如 /home/user/Desktop
和 /tmp
并且它可以工作。可能是什么原因?是因为权限吗? /proc
显然归 root 所有,而另一个文件夹则归登录用户所有。 /tmp
也归 root 所有,但它可以工作。我正在使用 this basic implementation对其进行测试。
我的操作系统是 Ubuntu 13.10 64 位。甲骨文 Java 1.7.0_51。
最佳答案
这是因为/proc 不是一个普通的文件系统,因此不支持 inotify:
https://unix.stackexchange.com/questions/90627/notify-of-changes-on-a-file-under-proc https://unix.stackexchange.com/questions/74713/how-frequently-is-the-proc-file-system-updated-on-linux?rq=1
关于Java WatchService 不适用于某些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043557/