Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac OS X如何知道哪些程序正在使用挂载的文件系统?_Macos_Osx Snow Leopard_Stat_Unmount - Fatal编程技术网

Macos Mac OS X如何知道哪些程序正在使用挂载的文件系统?

Macos Mac OS X如何知道哪些程序正在使用挂载的文件系统?,macos,osx-snow-leopard,stat,unmount,Macos,Osx Snow Leopard,Stat,Unmount,这听起来可能是一个愚蠢的问题,但直到最近,如果您试图卸载正在使用的卷,Finder报告它正在使用,但不是由谁使用的。这是一个简单的Unix功能,如果文件在装载点打开,则不允许将其弹出。但现在他们似乎增加了一些功能,让用户知道当前使用的是什么程序,我一直在浏览类似Unix操作系统(linux发行版)的fopen、stat等手册页,似乎找不到类似的功能 这个功能是专门化的,还是我只是找错了地方?它有点专业化。请查看lsof实用程序。有BSD级别的调用(主要是lsof,其源代码位于),可用于检查进程中

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


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

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

有BSD级别的调用(主要是
lsof
,其源代码位于),可用于检查进程中打开的文件列表。例如,活动监视器使用它们


使用
lsof
作为起点,您可以迭代进程,查看它们中是否有任何进程正在使用您正在检查的装载点下的文件。不过,可能还有更有效的方法,我不知道

检查手册页中的
fuser
,并在其标准输出文件上运行
fuser-c/mountpoint

Lsof revision 4.82列表,其中列出了有关进程为以下UNIX方言打开的文件的信息:AIX 5.3 FreeBSD 4.9,用于基于x86的系统FreeBSD 7。[01]和8.0,适用于基于AMD64的系统Linux 2.1.72及以上,适用于基于x86的系统Mac OS X 10。[56]适用于英特尔和PowerPC系统Solaris 9和10,好吗?听起来你好像被掩护了。