Linux shutdown命令参数有哪些?

99ANYc3cd6
预计阅读时长 10 分钟
位置: 首页 参数 正文

shutdown 命令是 Linux 系统中用于安全关机或重启的标准命令,与直接使用 rebootpoweroff 不同,shutdown 会通知所有登录用户系统即将关闭,并可以设置一个延迟时间,给用户保存工作的时间。

linux shutdown 参数
(图片来源网络,侵删)

基本语法

shutdown [选项] [时间] [警告信息]

核心参数详解

时间参数

这是 shutdown 命令最关键的部分,它决定了系统何时执行关机或重启操作。

a) +分钟数 (指定多少分钟后执行)

这是最常用的方式。+5 表示 5 分钟后执行。

# 5分钟后关机
sudo shutdown +5
# 10分钟后重启
sudo shutdown -r +10

b) hh:mm (指定具体时间)

linux shutdown 参数
(图片来源网络,侵删)

你可以指定一个具体的时间点(24小时制),系统会计算从现在到那个时间点之间的时间差,并作为倒计时。

# 在晚上11点关机
sudo shutdown 23:00
# 在明天凌晨1点重启
sudo shutdown 01:00

c) now (立即执行)

如果你想让它立即执行,可以使用 now,这和使用 poweroffhalt 效果类似,但仍然会发送通知。

# 立即关机
sudo shutdown now
# 立即重启
sudo shutdown -r now

操作参数

这些参数用来指定系统在倒计时结束后要执行的具体操作。

linux shutdown 参数
(图片来源网络,侵删)
参数 全称 描述 示例
-h --halt 关机,停止系统并切断电源,这是默认行为,如果既没有 -h 也没有 -r,且没有指定 poweroff,则默认为关机。 sudo shutdown -h now
-r --reboot 重启,停止系统然后重新启动。 sudo shutdown -r now
-P --poweroff 切断电源,明确地告诉系统在halt之后切断电源,现代系统上 -h 通常也等同于 -P sudo shutdown -P +5
-c --cancel 取消,取消一个已经计划好的关机或重启任务。 sudo shutdown -c

其他常用参数

参数 全称 描述
-k --no-halt 只发送警告,不真正关机,这会向所有用户发送警告信息,但系统本身不会关机或重启,通常用于测试或提醒。
-H --halt -h 类似,表示停止系统,但不保证会切断电源,在现代 Linux 发行版中,-h 通常已经包含了切断电源的操作。
--help 显示帮助信息。
--version 显示版本信息。

常用命令组合示例

  1. 计划在 5 分钟后关机,并自定义警告信息:

    sudo shutdown +5 "服务器将在5分钟后进行维护,请立即保存您的工作并退出。"

    系统会广播这条消息给所有终端用户。

  2. 在指定时间(午夜12点)重启服务器:

    sudo shutdown 00:00
    # 或者更明确地
    sudo shutdown -r 00:00
  3. 立即重启系统:

    sudo shutdown -r now
  4. 取消一个已计划的关机任务: 假设你之前已经执行了 sudo shutdown +10,现在想取消它:

    sudo shutdown -c

    取消后,最好再给用户发个通知,告知他们计划已取消。

  5. 只发送警告,不执行任何操作(用于测试):

    sudo shutdown -k +2 "这是一条测试警告,系统不会关机。"

reboothaltpoweroff 的对比

命令 描述 是否有通知 是否有延迟
shutdown 安全、可控的关机/重启,会通知所有用户。
reboot 立即重启。
halt 立即停止系统,不切断电源。
poweroff 立即停止系统并切断电源。

重要提示:在现代 Linux 系统中,reboothaltpoweroff 通常都是 systemd 的符号链接或别名,它们的行为可能与传统行为略有不同,但基本功能一致,对于生产环境,尤其是在多用户服务器上,强烈推荐使用 shutdown,因为它能避免用户因未及时收到通知而丢失工作。


重要注意事项

  1. 需要 sudo 权限:关机或重启系统需要超级用户权限,因此必须在命令前加上 sudo
  2. -c 的使用:取消一个任务时,如果你忘记了之前设置的警告信息,直接使用 sudo shutdown -c 即可,有时,为了明确取消,可以带上之前的信息的一部分,但通常不需要。
  3. -k 的陷阱-k 参数只发送消息,不执行关机,很容易被误用,请务必清楚这一点,避免在真正需要关机时只用了 -k
  4. systemd 的影响:在 systemd 成为 init 系统主流的今天,shutdown 命令本身的功能没有变,但它底层调用的是 systemd 的相关接口,了解这一点有助于你理解为什么 reboot 等命令的行为也发生了变化。

总结表格

功能 命令示例
N分钟后关机 sudo shutdown +N
N分钟后重启 sudo shutdown -r +N
指定时间关机 sudo shutdown hh:mm
指定时间重启 sudo shutdown -r hh:mm
立即关机 sudo shutdown nowsudo shutdown -h now
立即重启 sudo shutdown -r now
取消计划任务 sudo shutdown -c
仅发送警告 sudo shutdown -k +N "消息"

希望这份详细的解释能帮助你完全掌握 Linux 的 shutdown 命令!

-- 展开阅读全文 --
头像
ShellExecute如何传递多个参数?
« 上一篇 今天
wisebrave智能手表好用吗?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]