Linux命令Man解释:shutdown:让系统关机

发表于:2007-07-04来源:作者:点击数: 标签:
名称 shu td own-让系统关机 摘要 /sbin/shutdown[-t秒][-rkhncfF]时间[警告讯息] 描述 shutdown会安全地将系统关机。在系统将要关机前,所有登入的使用者都会被通知,而且login(1)这个指令会被冻结。直接关机或者是延迟一段特定的时间才关机都是有可能的,
名称
shutdown - 让系统关机 

摘要
/sbin/shutdown [-t 秒] [-rkhncfF] 时间 [警告讯息]

描述
shutdown 会 安 全 地 将 系 统 关 机 。 在 系 统 将 要 关 机 前 , 所 有 登 入 的 使 用 者 都 会 被 通 知 , 而 且 login(1) 这 个 指 令 会 被 冻 结 。 直 接 关 机 或 者 是 延 迟 一 段 特 定 的 时 间 才 关 机 都 是 有 可 能 的 , 这 是 藉 着 所 有 程 序 (process) 都 会 收 到 系 统 所 送 达 的 信 号 (signal) SIGTERM. 这 让 一 些 象 vi(1) 这 一 类 的 程 式 有 时 间 可 以 储 存 目 前 正 在 编 ? 的 档 案 , 而 象 处 理 邮 件 (mail) 和 新 闻 (news) 的 程 式 可 以 正 常 地 离 开 等 等 。 shutdown 执 行 他 的 工 作 是 藉 着 送 信 号 (signal) 给 init 程 序 , 要 求 他 改 变 runlevel. Runlevel 0 是 被 用 来 停 机 (halt) , runlevel 6 则 是 用 来 重 新 启 动 (reboot) 系 统 , 而 runlevel 1 则 是 被 用 来 让 系 统 进 入 管 理 工 作 可 以 进 行 的 状 态 ; 这 是 预 设 的 , 假 如 没 有 -h 也 没 有 -r 参 数 给 shutdown 。 要 想 了 解 在 停 机 (halt) 或 者 重 新 开 机 (reboot) 过 程 中 做 了 哪 些 动 作 , 你 可 以 在 这 个 档 案 /etc/inittab 里 看 到 这 些 runlevels 相 关 的 资 料。

选项
-t 秒 在 改 变 到 其 他 runlevel 之 前 , 告 诉 init(8) 在 送 警 告 讯 息 和 送 kill 信 号 (signal) 给 所 有 程 序 这 两 件 事 之 间 , 要 等 待 多 少 秒 。 
-k 
并 不 会 真 的 关 机 ; 只 是 送 警 告 讯 息 给 每 位 使 用 者 。 
-r 
在 系 统 关 机 后 重 新 开 机。 
-h 
在 关 机 后 停 机 (halt) 。 
-n 
[不赞成] 不 呼 叫 init(8) 来 做 关 机 动 作 , 反 而 自 己 来 做 。 这 个 选 项 是 不 被 鼓 励 使 用 的 , 而 所 产 生 的 后 果 并 不 总 是 如 你 所 预 期 的 。 
-f 
在 重 新 开 机 (reboot) 时 忽 略 fsck 
-F 
在 重 新 开 机 (reboot) 时 强 迫 fsck 
-c 
取 消 目 前 正 在 执 行 的 关 机 程 序 。 而 这 个 选 项 当 然 不 可 能 会 有 时间 这 个 参 数 , 但 你 可 以 输 入 一 个 用 来 解 释 的 讯 息 , 而 这 讯 息 将 会 送 达 每 位 使 用 者 。 
时间 
关 机 (shutdown) 的 时 间 。 
警告讯息 
送 给 每 位 使 用 者 的 讯 息 。 
这 个 时 间 参 数 可 以 有 不 同 的 格 式 。 首 先 , 它 可 以 是 这 种 格 式 hh:mm 的 绝 对 时 间 , 而 在 此 的 hh 是 指 小 时 (一 位 或 者 两 位 数 字) , 而 mm 则 是 指 分 钟 (两 位 数 字) 。 第 二 , 他 也 可 以 用 这 种 格 式 +m 表 示 , 在 这 里 m 这 个 数 字 代 表 是 指 要 等 待 几 分 钟 。 而 这 个 字 now 则 是 等 于 +0 。 

这 个 旗 标 -f 代 表 的 是 快 速 重 新 开 机 (reboot fast) 。 这 会 产 生 一 个 参 考 性 质 的 档 案 /fastboot , 而 他 会 在 系 统 重 新 启 动 时 被 检 查 。 这 个 开 机 的 rc 档 案 可 以 去 检 查 这 个 档 案 是 否 存 在 , 而 决 定 不 去 执 行 fsck(1) , 因 为 这 系 统 已 ? 以 适 当 的 方 式 关 了 机 。 在 这 之 后 , 这 个 开 机 程 序 将 会 移 除 /fastboot 这 个 档 案 。 

这 个 旗 标 -F 意 味 着 强 迫 执 行 fsck (force fsck) 。 这 会 产 生 一 个 参 考 性 质 的 档 案 /forcefsck , 而 他 会 在 系 统 重 新 启 动 时 被 检 查 。 这 个 开 机 的 rc 档 案 可 以 去 检 查 这 个 档 案 是 否 存 在 , 而 去 执 行 fsck(1) 并 加 上 特 别 的 参 数 `force' , 让 那 些 没 有 适 当 卸 载 (unmount) 的 档 案 系 统 也 会 被 检 查 。 在 这 之 后 , 这 个 开 机 程 序 将 会 移 除 /forcefsck 这 个 档 案 。 

这 个 旗 标 -n 会 造 成 shutdown 不 去 呼 叫 init , 反 而 去 杀 掉 所 有 正 在 执 行 的 程 序 。 shutdown 然后 将 会 关 掉 (turn off) 硬 碟 限 额 (quota) , 会 计 (aclearcase/" target="_blank" >ccounting) , 以 及 交 换 (swapping) 和 卸 载 掉 (umount) 所 有 的 档 案 系 统。 

使用控制
当 这 神 奇 的 按 键 CTRL-ALT-DEL 被 按 下 时 , shutdown 会 被 init(8) 所 呼 叫 , 这 是 藉 着 在 /etc/inittab 这 个 档 案 里 加 入 适 当 的 资 料 。 这 意 味 着 每 个 可 以 接 触 主 控 台 (console) 按 键 的 人 都 可 以 关 掉 系 统 。 会 了 避 免 这 样 , shutdown 可 以 检 查 是 否 有 符 合 资 格 的 使 用 者 登 入 某 个 虚 拟 控 制 台 。 假 如 shutdown 被 init(8) 呼 叫 时 , 它 会 检 查 这 个 档 案 /etc/shutdown.allow 是 否 存 在 , 然 后 比 较 在 这 档 案 所 列 出 的 登 入 名 称 和 登 入 在 虚 拟 控 制 台 (virtual console) 的 使 用 者 ( 从 这 个 档 案 /var/run/utmp 得 知 ), 只 有 当 其 中 有 位 符 合 资 格 的 使 用 者 或 root 已 ? 登 入 , 它 才 会 被 执 行 。 否 则 他 会 秀 出 这 些 讯 息 

shutdown: no authorized users logged in 

到 系 统 的 ( 实 际 上 ) 主 控 台 (console) 。 这 个 档 案 /etc/shutdown.allow 的 格 式 是 每 行 只 能 有 一 个 使 用 者 名 称 。 空 白 行 和 注 解 行 ( 字 首 为 # ) 都 是 被 允 许 的 。 目 前 这 个 档 案 限 制 只 能 有 32 位 使 用 者 。 

相关档案
/fastboot /etc/inittab /etc/init.d/halt /etc/init.d/reboot /etc/shutdown.allow

臭虫
并 不 是 真 的 有 臭 虫 (bug) , 是 因 为 大 部 份 的 使 用 者 忘 了 给 时间 这 个 参 数 , 而 让 shutdown 所 产 生 的 错 误 讯 息 给 搞 糊 涂 了 。 这 个 时间 参 数 是 一 定 要 有 的 ; 而 十 次 中 会 有 九 次 这 个 参 数 会 是 now 这 个 字 哦 !

作者
Miquel van Smoorenburg, miquels@cistron.nl

相关说明
fsck(8) , init(1) , halt(8) , reboot(8)(BP 1.0)

原文转自:http://www.ltesting.net