查看在Mac OS X中使用文件的进程

时间:2011-11-29 20:19:46

标签: macos unix terminal audit lsof

我希望能够跟踪文件并查看哪个进程正在触及该文件。那可能吗?我知道我可以在活动监视器中看到打开进程的列表,但我认为很快就能让我看到它。原因是我正在使用框架,我认为正在使用框架的系统版本而不是调试版本,我想看看哪个进程正在触及它。

5 个答案:

答案 0 :(得分:85)

lsof将列出打开的文件,但是对于瞬间触摸可能有点尴尬(例如,如果在运行lsof时文件未打开,则不会显示)。

我认为你最好的选择是fernLightning的fseventer.app。它是“nagware”,允许您以实时方式(以图形方式)观看fsevents API。

答案 1 :(得分:82)

这很简单:sudo fs_usage | grep [path_to_file]

答案 2 :(得分:37)

但我花了2分钟谷歌搜索并找到your answer here

  

$ lsof | grep [无论如何]

     

将[what]替换为您要查找的文件名。   有了这个,你可以看到哪个程序拼命抓住你的   即将被删除的文件。退出该程序后,您的垃圾邮件将会丢失   空。

答案 3 :(得分:12)

更快的方法是:

$ lsof [path_to_file]

此解决方案不需要root密码,并为您提供以下清除结果:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg

答案 4 :(得分:12)

另一个选项是Sloth。它是其他人提到的LSOF的免费开源GUI。