为啥我不能使用 inotify C API 监控 /proc?很特别吗?

Posted

技术标签:

【中文标题】为啥我不能使用 inotify C API 监控 /proc?很特别吗?【英文标题】:Why can't I monitor /proc using the inotify C API? Is it special?为什么我不能使用 inotify C API 监控 /proc?很特别吗? 【发布时间】:2014-07-22 21:03:45 【问题描述】:

我已经使用 inotify API 编写了几行 C 代码。当我监视 /tmp 的 IN_CREATE 和 IN_DELETE 时,它没有问题。我可以检测到何时在 /tmp 中添加或删除文件夹。

当我将受监控的文件夹更改为 /proc 时,由于进程启动而在 /proc 中创建新目录时,我不会收到通知。

我认为这是因为 /proc 在某些方面是特殊的。谁能解释为什么会这样,或者我可以做些什么来允许inotify 观看该文件夹?

谢谢。

【问题讨论】:

不是权限问题吧? /proc 在文件系统中非常奇怪。无论如何,***.com/a/8255487/168175 可能是一个更好的解决方案。 【参考方案1】:

/proc 中的内容是pseudo-filesystem,它们实际上不是文件。该接口的目的是允许用户级进程使用熟悉的接口读取或设置内核参数。

【讨论】:

以上是关于为啥我不能使用 inotify C API 监控 /proc?很特别吗?的主要内容,如果未能解决你的问题,请参考以下文章

inotify,inotify_add_watch() 监控多个目录,c++

为啥需要使用 inotify_add_watch() 调用 read() 两次

在linux下使用inotify监控,能不能够知道监控目录下子目录中是哪个文件被修改了。。。求方法。。。

通过inotify实现反调试

Inotify:仅监视文件夹中的某些文件

inotify 心得