有没有办法找出写入文件的进程?

有没有办法找出写入文件的进程?

/sys/devices/platform/samsung/leds/samsung::kbd_backlight/brightness每次屏幕从空白状态唤醒时,某个进程都会将数据写入该文件。

有没有办法找出哪个进程写入了这个文件?

答案1

嗯,我最初的想法是inotify使用inotify-tools,但看起来不可能的,因为“inotify API 不提供有关触发 inotify 事件的用户或进程的信息。”(来源)有时,了解什么是有帮助的惯于也可以工作,所以就在这里。

fanotify是一个独立的、竞争性的 Linux 通知框架,更新更加坚固以及 API包含有关执行该事件的程序的进程 ID (pid) 的信息。

我不确定 Fedora 17 是否有fanotify内置命令(或类似命令)。如果没有,您可以查看一个示例 fanotify 程序这里。 它打印出执行该事件的进程的进程 ID (pid),这样您就可以编译该程序(如果它仍然与 Fedora 17 上的最新 fanotify ABI 兼容)并运行它,它应该可以工作。请参阅第 231 行文件。

相关内容