我正在尝试将“ inotify_add_watch
”用于流程。我这样做的目的是在进程被终止时得到通知。
我的通知代码是,
wd = inotify_add_watch(ifd, "/proc",IN_ALL_EVENTS);
但即使进程被删除并且目录从 /proc 文件夹中删除,它也不会通知。
我正在尝试将“ inotify_add_watch
”用于流程。我这样做的目的是在进程被终止时得到通知。
我的通知代码是,
wd = inotify_add_watch(ifd, "/proc",IN_ALL_EVENTS);
但即使进程被删除并且目录从 /proc 文件夹中删除,它也不会通知。
在许多 Linux 发行版中,/proc挂载为procfs
. 确实报告和
Inotify
中的一些但不是所有事件。 sysfs
procfs
参考: http:
//en.wikipedia.org/wiki/Inotify#Limitations
http://en.wikipedia.org/wiki/Procfs
http://inotify.aiken.cz/?section=inotify&page =faq (搜索procfs
)
选择procfs 文件上的功能(搜索procfs
)
Inotify 不支持 sysfs 和 procfs 等伪文件
proc 和 sys 文件系统有时被称为进程信息伪文件系统。它不包含“真正的”文件,而是包含运行时系统信息(例如系统内存、安装的设备、硬件配置等)。
Inotify 仅报告用户空间程序通过文件系统 API 触发的事件。因此,它不会捕获网络文件系统上发生的远程事件。(应用程序必须回退到轮询文件系统以捕获此类事件。)此外,各种伪文件系统,如 /proc、/sys 和 /dev/pts 无法使用 inotify 进行监控。