确定进程正在访问哪些文件


9

如何查找特定进程访问的所有文件?

我正在使用Ubuntu 9.04。

Answers:


11

lsof将列出打开的文件和关联的进程ID。如果没有给出选项,它将列出所有内容。

有一个选项,-p用于列出单个进程的打开文件。因此,对于具有PID 6714的进程,这将列出该进程打开的文件:

    lsof -p 6714

要仅列出常规文件,可以使用grep过滤lsof的输出:

    lsof -p 6714 | grep REG

如果需要比使用grep更强大的功能,则-F可以使用该选项,但是它将变得更加复杂。在lsof手册页中

当指定-F选项时,lsof生成适合于另一个程序(例如awk或Perl脚本或C程序)处理的输出。

这取决于您的要求。


1
我喜欢在lsof中添加“ -b”,它会更快一点。另外,我在将管道添加到grep之前添加了2> / dev / null。
kbyrd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.