如何监视访问特定文件的进程?

我知道有一个fuser命令列出了进程的pids,但是如何持续监视哪个进程访问了这个文件? (认为​​行为类似于tail -f文件名)

假设有一个写入文件的过程,并且在某个时间间隔释放句柄,所以很难用熔丝来捕捉这个过程。

您可以观看定期执行命令。 为了突出显示连续运行的差异,Watch还支持差异标志

watch -n 5 'fuser file_name' 

假设你在Linux上,你可以使用inotifywatch。

此命令将打印所有访问并在文件上修改60秒,然后打印出统计信息。

 inotifywatch -v -e access -e modify -t 60 filename 

你可以通过https://github.com/rvoicilas/inotify-tools/wiki获取inotifywatch的源代码