是否可以使用lsof的替代方法来检测macOS上进程的打开文件?

时间:2019-05-22 19:31:38

标签: macos process filesystemwatcher lsof

我需要能够知道网络浏览器已打开的所有文件(最特别是Google Chrome)。

现在,我只能通过lsof找到所需的结果,因为这是一个相当低级别的操作系统请求。基本上,我使用lsof,然后浏览返回的列表,确定是否正在下载任何文件,然后根据此结果采取一些措施。

我遇到的问题是,lsof即使是美好的一天也是CPU猪。有时我碰到了lsof疯了的墙,lsof必须手动杀死。我必须相信,Chrome似乎做了一些有趣的事情,好像它是唯一引起lsof麻烦的应用程序。

我希望有一种更好的检测下载活动的方法,但还没有提出可靠的建议。

Chrome似乎打开了lsof无法处理的某种文件句柄,或导致它占用了大量的CPU时间。 (我想知道问题是否可能是Chrome用作其自己的私有虚拟内存系统的巨大内存映射文件?)由于此问题并没有一直发生,因此我试图寻找lsof可能表现更好的macOS选项...

0 个答案:

没有答案