我知道如何对特定的程序进行压缩以查看所有读取的文件。 我知道如何查看当前正在使用某个文件的进程。
但有没有办法logging所有文件打开。 我想要的东西像tail -f some/log/file而不是lsof -f /file/someone/might/open/soon ,每打开一个文件lsof -f /file/someone/might/open/soon打印出信息。
谢谢
这可以通过审计系统来完成。 你没有指定你的操作系统,我假设Linux。 检查http://linux.die.net/man/8/auditd和See also底部的页面。
访问文件时,可以使用inotify运行lsof。 例如,在incrontab中:
/etc/passwd IN_ACCESS /tmp/lsof.sh $@
Incrontab似乎没有使用shell,所以redirect不能使用。 一个包装可以用来代替:
lsof -f -- $1 >> /tmp/lsof.log