核心命令
在 Linux 中,最常用和最推荐的关机和重启命令是 systemd 提供的 systemctl。

(图片来源网络,侵删)
关机
sudo systemctl poweroff
- 说明:这是现代 Linux 发行版(如 Ubuntu 16.04+, CentOS 7+, Debian 8+ 等)中最标准、最推荐的方式,它会向系统中的所有进程发送信号,安全地停止所有服务,然后关闭计算机电源。
sudo:因为关机是一个需要管理员权限的操作,所以需要使用sudo来执行。
重启
sudo systemctl reboot
- 说明:与
poweroff类似,这个命令会安全地停止所有服务,然后重新启动计算机,这是首选的重启命令。
兼容性更好的传统命令
如果你使用的是较旧的 Linux 发行版,或者你更喜欢传统的命令,以下命令同样有效,并且在新系统上通常也能工作。
关机
sudo shutdown -h now
- 说明:
shutdown是一个功能强大的命令,可以安排在未来的某个时间关机或重启。-h参数表示 "halt"(停止),即在关闭系统后停止 CPU。now表示立即执行。
- 其他用法:
sudo shutdown -h +10:表示 10 分钟后关机,系统会通知所有登录用户。sudo shutdown -h 23:30:表示在今天的 23:30 关机。
重启
sudo shutdown -r now
- 说明:
-r参数表示 "reboot"(重启)。now表示立即执行。
传统简写命令
这些命令在很多系统上是 shutdown 命令的符号链接,非常简洁。
# 关机 sudo halt # 或者 sudo poweroff # 这个命令和 systemctl poweroff 类似 # 重启 sudo reboot
总结与对比
| 命令 | 操作 | 说明 | 推荐度 |
|---|---|---|---|
sudo systemctl poweroff |
立即关机 | 现代 Linux 的标准方式,最清晰、最规范。 | ⭐⭐⭐⭐⭐ (首选) |
sudo systemctl reboot |
立即重启 | 现代 Linux 的标准方式,最清晰、最规范。 | ⭐⭐⭐⭐⭐ (首选) |
sudo shutdown -h now |
立即关机 | 传统且非常强大的命令,支持定时任务。 | ⭐⭐⭐⭐⭐ (备选) |
sudo shutdown -r now |
立即重启 | 传统且非常强大的命令,支持定时任务。 | ⭐⭐⭐⭐⭐ (备选) |
sudo halt |
立即关机 | 传统命令,通常等同于 shutdown -h now。 |
⭐⭐⭐ |
sudo reboot |
立即重启 | 传统命令,通常等同于 shutdown -r now。 |
⭐⭐⭐ |
重要提醒:在 SSH 远程连接时使用
如果你是通过 SSH 远程连接到你的“机器人”(服务器或开发板)上,请务必注意:
-
不要直接关闭 SSH 客户端窗口:如果你直接点击窗口的关闭按钮,而没有先执行关机命令,远程服务器会认为你的连接意外中断,但服务器本身不会关机,它会继续运行,这被称为“孤儿会话”(Orphaned Session)。
(图片来源网络,侵删) -
使用
nohup或tmux/screen(高级用法):如果你想在关闭 SSH 客户端后,让一个命令(如下载、编译)继续在后台运行,可以使用nohup命令,或者使用tmux/screen这样的终端复用工具。 -
安全地执行关机/重启:当你通过 SSH 执行
sudo systemctl reboot后,SSH 连接会立即断开,然后服务器会重启,这是完全正常和安全的操作。
如何选择?
- 对于日常使用:直接使用
sudo systemctl poweroff或sudo systemctl reboot,这是最清晰、最符合现代 Linux 标准的做法。 - 需要定时任务:想让服务器在午夜自动重启,使用
sudo shutdown -r 00:00。 - 在非常古老的系统上:
systemctl命令不存在,使用sudo shutdown -h now或sudo reboot。
希望这个详细的解释能帮助你顺利地关闭你的 Linux 机器人!

(图片来源网络,侵删)
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。