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

Dan*_*son 2 linux fedora-17

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

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

all*_*tic 5

好吧,我最初的想法是使用inotifyla inotify-tools,但似乎不可能,因为“ inotify API 不提供有关触发 inotify 事件的用户或进程的信息。” (来源)有时是很有帮助知道会不会工作,也因此在这里。

fanotify是一个独立的、竞争性的 Linux 通知框架,它更新更健壮,并且 API确实包含有关执行该事件的程序的进程 ID (pid) 的信息。

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