【问题标题】:How does Mac OS X know what programs are using a mounted filesystem?Mac OS X 如何知道哪些程序正在使用挂载的文件系统?
【发布时间】:2011-12-23 06:38:29
【问题描述】:

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

这个功能是专门的,还是我找错地方了?

【问题讨论】:

    标签: macos osx-snow-leopard stat unmount


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • Lsof 修订版 4.82 在其标准输出文件中列出了有关以下 UNIX 方言的进程打开的文件的信息: AIX 5.3 FreeBSD 4.9 for x86-based systems FreeBSD 7.[01]和 8.0,用于基于 AMD64 的系统 Linux 2.1.72 及更高版本,用于基于 x86 的系统 Mac OS X 10.[56]用于 Intel 和 PowerPC 系统 Solaris 9 和 10
      • 好吗?听起来你已经被覆盖了。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-12-08
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 2022-10-15
        • 2010-12-07
        • 1970-01-01
        • 2015-09-11
        • 1970-01-01
        相关资源
        最近更新 更多