卸载如何关闭文件描述符?

卸载如何关闭文件描述符?

检查我当前打开的文件/Volumes/UNTITLED会得到 2 个条目:

$ sudo lsof /Volumes/UNTITLED/
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mds      62 root    8r   DIR    1,6    32768    2 /Volumes/UNTITLED
mds      62 root   19r   DIR    1,6    32768    2 /Volumes/UNTITLED
$

当我跑步时diskutil unmountDisk disk2,所有描述符都已成功关闭(例如,我不能lsof /Volumes/UNTITLED/再这样做了,因为文件夹已经消失了)。

diskutil unmountDisk关闭文件描述符到底做了什么?我可以自己关闭文件描述符吗?

据我了解diskutil是闭源的。问题可以通过采取来回答吗umount

议程

基本上我试图了解如何告诉进程关闭给定的文件描述符,例如模拟卸载的作用。

我认为告诉进程关闭文件描述符应该是非法的,因为通常它很容易导致进程崩溃。然而我认为 diskutil unmountDisk以某种方式设法温和地要求mds不再拥有该文件。

我很好奇我是否也可以温和地询问。我知道有一个endfsent操作系统函数,但它不是一个程序,我无法运行它来操作不同进程打开的文件描述符。

相关内容