【发布时间】:2012-07-21 01:05:09
【问题描述】:
我知道有一个 fuser 命令可以列出进程的 pid,但是您如何持续监控访问文件的进程? (认为类似于 tail -f 文件名的行为)
假设有一个进程在某个时间间隔写入文件并释放句柄,因此使用 fuser 很难捕获该进程。
【问题讨论】:
-
您需要/负担得起的(非)侵入性和(非)交互性如何?如果您提到的时间间隔足够长,@cravoori 的轮询可能会起作用;用命名管道替换文件并使其缓冲区饱和将阻止所有写入者,因此您可以在闲暇时识别它们,但可能不是您正在寻找的那种解决方案;最后,您可以定义自己的 Linux kernel tracepoints 来跟踪哪个进程打开了特定的文件进行写入。
标签: linux shell unix command-line fuser