如何重启和关闭Linux服务器?
作为系统管理员,重新启动或关闭服务器是一项频繁的活动之一。
这可能是由于常规维护活动,如操作系统打补丁,或由于一些需要关闭系统进行维护的硬件故障。
Linux系统提供了几种不同的方法来进行reboot or shut down the server。正常的系统应该能够响应任何命令,而降级的服务器可能需要强制重启。请注意,大多数这些命令将需要一定的特权级别才能成功执行,无论是作为超级用户还是使用sudo,因为重新启动系统是一项管理任务,对于运行关键进程的多用户系统或服务器,重新启动或关闭是一项中断活动。
本文介绍了几种可以帮助您进行Linux重新启动/关闭操作的方法。
图形界面方法
如果您正在使用像Gnome、KDE、Mate、XFCE等的Linux桌面环境,则在系统/应用程序菜单中会有一个电源按钮,提供注销、重新启动、休眠或关闭等操作。可用选项可能会因使用的发行版、桌面环境和操作系统版本而有所不同。但您肯定会在可用菜单中找到与电源状态相关的设置。
例如,在我的Ubuntu Mate桌面上,我可以在屏幕右上角的电源菜单中找到关闭选项。
选择“关闭…”选项后,您将看到一个对话框,其中包含挂起、重启、取消和关机等多个选项。您可以通过单击正确的按钮进行重启或关机,或者取消并返回到桌面环境。
提供的图形界面和选项可能会因使用的发行版和桌面环境而略有不同,但请放心,有一种选项可以更改系统的电源状态。使用图形界面,只需在电源菜单中点击几下即可。
systemctl命令
在运行systemd作为init
系统的Linux系统上,您可以使用systemctl命令来重新启动机器。
$ sudo systemctl start reboot.target
或者您可以直接使用systemctl
和所需的选项,例如:
$ sudo systemctl reboot
要进行关机操作,systemctl
命令如下:
$ sudo systemctl shutdown
要停止系统,使用:
$ sudo systemctl halt
shutdown命令
shutdown
命令可用于关闭和重新启动Linux系统。要立即重新启动系统,请执行以下操作:
$ sudo shutdown -r now
或者要立即关闭系统,请使用-h
或-P
标志:
$ sudo shutdown -P now
我们可以为shutdown
命令添加延迟,以在指定的时间间隔之后重新启动/关闭系统。可以这样实现:
$ sudo shutdown -r 10
要停止系统而不要求硬件立即关闭,请使用-H
标志:
$ sudo shutdown -H now
如果只指定shutdown
命令,系统将在一分钟后计划关机。要在特定时间关闭,请执行以下操作:
$ sudo shutdown 22:30
在许多情况下,在系统关闭时,它会向已登录用户的控制台广播一条消息。如果您想要在此广播中添加自定义消息,可以在shutdown
命令中指定消息,例如:
$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"
要取消预定的关机操作,您可以使用-c
标志:
$ sudo shutdown -c
在某些系统上,shutdown
命令在后台调用systemctl
来实现所需的重新启动/关机操作。
重新启动命令
要优雅地重新启动系统,您还可以使用reboot
命令(可能需要使用sudo)。
$ sudo reboot
要使用重新启动命令关机系统,请使用-p
标志:
$ sudo reboot -p
要强制重新启动(对于不响应常规reboot
命令的系统),您可以尝试使用-f
标志:
$ sudo reboot -f
停止命令
要停止系统,您可以直接使用halt
命令:
$ sudo halt
关机命令
要关闭系统,您可以选择使用poweroff
命令:
$ sudo poweroff
init命令
对于不运行systemd的系统,init
(telinit
也可以)命令提供了更改系统运行级别的选项。要使用init
重新启动系统,可以使用:
$ sudo init 6
类似地,要停止系统,使用的init
命令是:
$ sudo init 0
使用init调用特定的运行级别会导致系统的init进程按特定顺序执行一系列init脚本,以确保系统达到所需的运行级别。运行级别6用于重新启动,而运行级别0用于停止系统。
电源按钮
对于在桌面或笔记本电脑上运行的Linux系统,默认情况下,按下电源按钮会将系统置于睡眠状态或通过发送关机信号将其关闭。可以通过系统的电源设置进行调整此选项。虽然如果常规命令不起作用,最好将其用作最后选择。
对于远程机器,电源按钮通常会关闭系统。但位于远程数据中心的机器可以使用各个服务器供应商提供的远程灯管理CLI/GUI工具之一重新启动或关闭。
Alt + SysRq组合键
对于无响应、冻结的系统,很难将其置于重新启动或关机状态。当您没有其他选择且作为最后手段时,可以尝试按下Alt + PrintScreen +一系列键
以立即重新启动系统。尽管这可能不是首选或推荐的选项,但可以作为最后手段使用。
始终记住,使用此方法可能会导致数据丢失和损坏,就像使用任何其他非优雅、强制的重新启动或关机选项一样。确保系统备份和冗余的最佳实践,并在使用此选项时小心。
要使此选项起作用,应在Linux内核中启用它。您可以使用以下命令检查:
$ cat /proc/sys/kernel/sysrq
输出为1表示完全启用,而大于1的数字表示部分启用某些功能。要显式启用它,可以使用:
$ sudo echo “1” > /proc/sys/kernel/sysrq
要使用此方法重新启动系统,请保持按住Alt + SysRq(PrintScreen)
,然后按照以下顺序的键,在每个键之间间隔几秒钟:
R E I S U B
或者要关机,请在末尾按O
键而不是B
:
R E I S U O
这些键的含义如下:
- R: 从原始切换到XLATE模式的键盘
- E: 发送SIGTERM信号给除init之外的所有进程
- I: 发送SIGKILL信号给除init之外的所有进程
- S: 同步所有已挂载的文件系统
- U: 将所有已挂载的文件系统重新挂载为只读
最后,我们还有B或O,分别表示:
- B: 立即重新启动系统,不卸载分区或同步
或
- O: 立即关闭系统,不卸载分区或同步
总结
这里介绍了不同的方法,可以让您重新启动或关闭Linux系统。它为您提供了从简单的图形界面到相对复杂的终端命令的选项,可以让您的生活变得轻松,甚至可以让您完成某些任务。对于由于某种原因而冻结的系统,我们讨论了强制实现重新启动或关闭状态的方法,这可能不是理想的方法,但在罕见的情况下必须使用。
在使用本文中讨论的命令时,请注意采取预防措施,因为它们会影响系统状态,并且可能会影响企业服务器的多个用户和服务。查看本文中建议的命令的man页面,以了解更多相关信息和提供的所有选项。
在此处了解如何进行链接_5。