Linux如何彻底关闭机器人进程?

99ANYc3cd6 机器人 15

核心命令

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

Linux如何彻底关闭机器人进程?-第1张图片-广州国自机器人
(图片来源网络,侵删)

关机

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 远程连接到你的“机器人”(服务器或开发板)上,请务必注意:

  1. 不要直接关闭 SSH 客户端窗口:如果你直接点击窗口的关闭按钮,而没有先执行关机命令,远程服务器会认为你的连接意外中断,但服务器本身不会关机,它会继续运行,这被称为“孤儿会话”(Orphaned Session)。

    Linux如何彻底关闭机器人进程?-第2张图片-广州国自机器人
    (图片来源网络,侵删)
  2. 使用 nohuptmux/screen(高级用法):如果你想在关闭 SSH 客户端后,让一个命令(如下载、编译)继续在后台运行,可以使用 nohup 命令,或者使用 tmux / screen 这样的终端复用工具。

  3. 安全地执行关机/重启:当你通过 SSH 执行 sudo systemctl reboot 后,SSH 连接会立即断开,然后服务器会重启,这是完全正常和安全的操作。

如何选择?

  • 对于日常使用:直接使用 sudo systemctl poweroffsudo systemctl reboot,这是最清晰、最符合现代 Linux 标准的做法。
  • 需要定时任务:想让服务器在午夜自动重启,使用 sudo shutdown -r 00:00
  • 在非常古老的系统上systemctl 命令不存在,使用 sudo shutdown -h nowsudo reboot

希望这个详细的解释能帮助你顺利地关闭你的 Linux 机器人!

Linux如何彻底关闭机器人进程?-第3张图片-广州国自机器人
(图片来源网络,侵删)

抱歉,评论功能暂时关闭!