题
我发现在IOStat,这一部分的我的程序被编写广泛,但是我不知道这过程中,它是什么文件,它是写作。在Vista有一个工具fo,其中显示了该文件已经主动在最近30秒。是否有类似的东西Linux?
解决方案
你所寻找的是 lsof
。
它是一个命令行工具,但也有href="http://sourceforge.net/apps/trac/glsof"在SourceForge rel="nofollow noreferrer"> GUI为它
其他提示
strace -e trace=file -- <command>
会告诉你到底是什么文件在您的应用程序读取和writong
如果你想看到所有的文件访问实时(最多32个过程),可以使用下面的命令:
strace -f -e trace=file `ps aux | tail -n +2 | awk '{ORS=" "; print $2}' | sed -e 's/\([0-9]*\)/\-p \1 /g' | sed -e 's/\-p $//g'`
找到的所有文件的修改的最后一个 24小时(最后一天)中的一个 特别是具体目录和其 子目录:
找到/directory_path-mtime-1印
更多信息,请访问:
不知道一个程序,但在实用find命令有很多,这将让你找到已修改在一定时间内的文件和/或目录的选项。
例如:
$ find /home/you -iname "*.txt" -mtime -1 -print
会发现,上次修改2天前的文本文件。
您可以在某种脚本的包装这个打电话或写信给自己快速的小应用程序使用的结果。
下面是与更多一些信息和实施例的位点:
lsof的将列出所有打开的文件对于给定的过程:
lsof的-p
Linux提供了一个文件改变通知API称为“dnotify”,用一个命令行实用程序 dnotify沿。你可以用它来追踪变化在过去的30秒。
我可能会写,直接构建在Linux API的应用程序,并放弃超过30岁之前的所有事件。
不隶属于 StackOverflow