之前我问过这个问题关于如何在设定的时间后暂停 Linux。
我想问类似的问题。假设我的系统上连接了一个 USB 设备(操作系统 = Fedora 13),是否有命令可以:
断开 USB 设备,
分离后,在指定的时间间隔后关闭系统。
更准确地说,分离是指安全移除设备的命令。
答案1
我假设 USB 是指安装到文件系统的随身碟或外部硬盘。您可以通过卸载设备来“分离”它。为此,您必须使用 umount 命令。您可以使用设备或安装点,例如:
umount /dev/sdb1
或者umount /mnt/usb
看手动卸载更多细节。
要关闭系统,请使用该shutdown
命令。-h
将要“关机后停止或断电”。手册页说:
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
因此,您可以使用它在特定时间后关闭系统。以下命令将在 30 分钟后停止您的系统:
shutdown -h 30
现在您有了一个命令,该命令只能在另一命令成功后执行。这是通过 && 完成的,&& 是条件语句的简写形式,也是 shell 的一项功能(注意:|| 也存在)。仅当第一个命令没有任何错误返回时才会执行第二个命令。这由返回代码 0 指示。例如:
umount /dev/sdb1 && shutdown -h 15
将断开您的 USB 并在 15 分钟后停止您的系统。
如果这不能回答您的问题,请更具体。
答案2
听起来您希望在移除 USB 闪存盘时自动关闭计算机。
我自己没有这样做过,但是新的暴发户服务(即Fedora 9 支持开始)确实能够基于事件运行脚本。这里有一篇文章讨论了如何在以下情况下触发事件:如何热插拔设备或何时插入 USB 打印机。
理论上,当您拔下 USB 设备时也可能会生成一个事件,并且该事件可以调用任意脚本,例如shutdown -h now
或lock the screen
。
我见过 Windows 和 Mac 系统在蓝牙设备离开计算机附近时自动锁定屏幕,这在使用 Upstart 的 Linux 中可能是可能的。