Mac OS X如何知道哪些程序正在使用已安装的文件系统?

时间:2011-11-06 22:39:01

标签: macos osx-snow-leopard stat unmount

这可能听起来像一个愚蠢的问题,但直到最近,如果你试图卸载正在使用的卷,Finder报告它正在使用,而不是由谁。这是简单的Unix功能,如果文件在挂载点上打开,则不允许它弹出。但是现在他们似乎已经添加了一些功能,让用户知道当前正在使用已安装系统的程序,我一直在查看fopen,stat等手册页,用于Unix操作系统(Linux的发行版),我可以似乎找不到类似的功能。

这个功能是专门的,还是我只是在错误的地方?

3 个答案:

答案 0 :(得分:4)

有BSD级别的调用(主要是lsof,其来源为http://www.opensource.apple.com/source/lsof/),可让您检查进程中打开的文件列表。例如,Activity Monitor使用它们。

使用lsof作为起点,您可以遍历进程并查看是否有任何进程在您正在检查的挂载点下使用文件。可能有更有效的方法来做到这一点,我不知道。 :)

答案 1 :(得分:0)

有点专业。查看lsof实用程序。

答案 2 :(得分:0)

查看fuser的手册页,然后运行fuser -c /mountpoint