你们当中可能有人会注意到那个 60 秒的超时,并且在想,等待弹出软盘的时间太长了……也许我只要同步一下磁盘,然后在挂载状态下直接拔出来,应该没人会注意到。 让我来建议一些 更明智的替代方案
。首先,你可以更改超时时间。但这可能有点低效;例如,让系统在仅仅 15 秒后就卸载东西。取决于你的设置,你也许可以简单地以普通用户身份运行 umount 命令。但实际上有一种方法可以请求 automount 程序卸载。如果你发送 (使用 kill 命令) SIGUSR1
信号给 automount 进程,它将会卸载所有它可以卸载的东西。但是在人们开始在他们的窗口管理器上制作卸载按钮之前,这里有一个小问题。
automount 进程是由 root 用户运行的,并且它只会接受来自 root 用户的信号。你可能进行自动挂载的原因有一半是为了让你可以在不成为 root 用户的情况下挂载和卸载。制作一个 suid-root C 程序来完成这项脏活很容易。然而,通过使用 sudo,可以允许用户发送正确的 kill 信号。唯一的问题是 sudo 不允许你使用进程子命令,而你需要使用子命令来查找当前的 PID。你应该有一个名为 killall 的程序,它可以让你做到这一点
ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount否则,你将不得不允许你的用户向所有进程发送 -SIGUSR1 信号。这会对程序产生各种影响;它会重启一些窗口管理器,但会杀死 xemacs。所以这里希望 killall 中没有缓冲区溢出...