哪个进程负责 inotify 发出的事件?
我正在使用 pyinotify 来检测给定目录中文件的访问、更改等。 有没有更简单的方法来找出哪个进程对此负责 - 而不必
I am using pyinotify
to detect access, changes, etc. on files in a given directory. Is there an easier way to find out which process was responsible for that - without having to patch inotify
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,你不能,该信息不在内核发送的
struct inotify_event
中。实际上,当您收到事件时,并不能保证负责的进程仍在运行。
No, you can't, that information isn't in the
struct inotify_event
sent by the kernel.Actually there isn't any guarantee that the process responsible is still running when you get the event.
假设您使用的是 Linux(pyinotify 往往会表明这一点),您可以使用 SELinux(当然以宽容模式运行)来包装进程并记录所有文件访问/创建/删除等。
Assuming you are on Linux (pyinotify would tend to indicate this) you could use SELinux (running in permissive mode of course) to wrap a process(es) and log all their file access/creation/deletion/etc.