# 版权宣告: 1999 Copyright OLS3 All rights reserved. # 作者: OLS3 (卧龙小三) # 本讲义仅供台南县 87 学年度网路管理进阶研习班上课之用. # 学员可保存一份自用, 供日後网管时参考备查. # 作者保有一切形式的着作权. # 欲作其它用途者, 需经作者授权同意. # 未经作者授权同意之前, 请勿转载刊登. 关机 一. 关机流程 Linux 运作时, 不可以直接将电源关闭, 否则, 可能会损毁档案系统. 因此, 必须按照正常的程序关机: 观察系统使用情形(也许当时, 正有使用者做着重要的工作呢!) 通知线上使用者, 本机即将关闭. (如果, 使用者众多, 应该给予多一点的缓时间) 使用正确的 shutdown 指令. 关机使用的指令是 shutdown. shutdown 以一种安全的方式关闭主机系统. 它会通知所有已登入的user, 主机即将关闭, 并且会将登入(login)的活动予以冻结. shutdown 允许你: 选择关机、重新开机或进入单人操成模式 设定关机时间: 可以设定成现在立刻关机, 也可以设定某一个特定的时间, 可以自订关机之前, 传送给线上 user 的警告讯息 可以只送警讯息, 作势吓吓user, 但却不是真的要关机. 因为, 有时, 你可能想要做一些试验, 不想有其它 user 扰. 可以选择是否要 fsck 检查档案系统 当 shutdown 开始执行後, 系统会以 SIGTERM 讯号通知所有的行程(processes), 主机即将关闭. 这麽做是必要的, 因为, 如此一来, 一些在执行中的程式, 才能即时存档、清除暂存档或将仍在记忆体中的资料赶快写入硬碟中(flush). shutdown 以讯号通知 init, 要求 init 要切换 runlevel, 来达成上述目的. 如果是关机(halt), 则切换到 runlevel 0; 若是重新开机(reboot), 则切换到 runlevel 6; 若是单人模式(single), 则切换到 runlevel 1. 然後就交给相关 runlevel 中的 script档, 完成最後的关机事项. 若欲知各 runlevel 的定义情形, 可参考 /etc/inittab. 二. 关机指令. /sbin/shutdown [-t 秒数] [-rkhncfF] 时间 [警告讯息] -t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒). -k : 仅送出警告讯息文字, 但不是真的要 shutdown. -r : shutdown 之後重新开机. -h : shutdown 之後关机. -n : 不经过 init , 由 shutdown 指令本身来做关机动作.(不建议你用) -f : 重新开机时, 跳过 fsck 指令, 不检查档案系统. -F : 重新开机时, 强迫做 fsck 检查. -c : 将已经正在 shutdown 的动作取消. 例子: shutdown -r now 立刻重新开机 shutdown -h now 立刻关机 shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有真的关机 shutdown -t3 -r now 立刻重新开机, 但在警告和删除processes 之间, 延迟3秒钟. shutdown -h 10:42 'Hey! Go away!' 10:42 分关机 shutdown -r +10 'Hey! Go away!' 10 分钟後关机 shutdown -c 将刚才下的 shutdown 指令取消,必须切换至其它tty, 登入之後, 才能下此一指令. shutdown now 切换至单人操作模式(不加任何选项时) 注意事项: 时间参数务必要加: 不是用 now, 便是用 hh:mm 或 +mm now 其实就是 +0 的意思. 不加任何选项的话, 会进入 runlevel 1, 即单人操作模式. |