从终端关闭和重启 Linux 系统
简介
在本文中,我们将讨论如何从终端关闭和重启 Linux 系统。从命令行关闭和重启系统的能力在各种情况下都很有用,例如当 GUI **不可用**时或通过 Linux shell 脚本自动化任务时。
概述
Linux 是一个相当健壮的操作系统,因此,很少需要重新引导 Linux 服务器。但是,有时有一些原因需要重启系统。
例如,如果我们在个人电脑上运行 Linux,重启和关闭系统可能是日常操作。
重启或关闭系统
各种命令可以重启或关闭系统,例如 shutdown、restart、shutdown 和 shutdown。由于重启或关闭系统将**终止所有正在运行的进程**,因此您必须拥有**root 或 sudo 权限**才能运行此类命令。
大多数现代 Linux 发行版都已采用“systemd”作为其系统和服务管理器。在**systemd 管理**的系统上,“systemctl”集中控制系统重启和关闭。
例如,让我们看看在**Ubuntu**系统上的这些命令:
$ file /sbin/{halt,poweroff,reboot,shutdown} /sbin/halt: symbolic link to /bin/systemctl /sbin/poweroff: symbolic link to /bin/systemctl /sbin/reboot: symbolic link to /bin/systemctl /sbin/shutdown: symbolic link to /bin/systemctl
了解到所有这些命令都链接到同一个命令:“systemctl”可能有点令人惊讶。这是因为“systemctl”程序使用一种技术来根据其运行方式更改其行为。
shutdown 命令
我们可以使用 shutdown 命令安全地重启或关闭 Linux 系统。使用 shutdown 命令的语法很简单:
$ shutdown [OPTIONS...] [TIME] [MESSAGE]
常用选项
现在让我们看看 shutdown 命令支持的常用选项。我们可以传递“**-r**”选项来重启系统,而不是关闭机器:
# shutdown -r Shutdown scheduled for Thur 2022-01-19 11:56:50 IST, use 'shutdown -c' to cancel.
“**-H**”选项告诉 shutdown 命令**停止**系统:
# shutdown -H Shutdown scheduled for Thur 2022-01-19 11:56:50 IST, use 'shutdown -c' to cancel.
计划关机操作
有时我们不想在一分钟内关闭或重启系统。相反,我们可以在特定时间安排关机操作。shutdown 命令支持两种不同的时间格式进行计划:
绝对时间 - **HH:mm**
相对时间 - **+NumberOfMinutes**
例如,我们可以安排在**上午 8:08**重启系统:
# shutdown -r 08:08 Shutdown scheduled for Thur 2022-01-19 08:00:00 IST, use 'shutdown -c' to cancel.
让我们看另一个示例,我们在**30**分钟后安排系统关闭:
# shutdown +30 Shutdown scheduled for Thur 2022-01-19 12:36:55 IST, use 'shutdown -c' to CEST, use 'shutdown -c' to cancel.
如果我们想立即关闭系统,我们可以使用“**+0**”或一个方便的别名“**now**”:
# shutdown now
由于 Linux 是一个**多用户**操作系统,我们可能希望向所有当前登录的用户广播有关计划的关闭或重启的消息:
# shutdown -r +45 "Attention: This system will restart in 45 minutes!" Shutdown scheduled for Thur 2022-01-19 12:48:39 IST:...
取消计划的关机
在上面的示例中,我们已计划重启或关闭操作。但是,有时我们可能希望**取消计划的操作**。例如,如果错误地计划了重启或关闭,或者在计划的重启之前需要安装关键更新。在这种情况下,我们可以使用“**shutdown -c**”命令取消计划的操作。
# shutdown -c
此命令将**取消**任何计划的重启或关闭操作,并显示一条确认取消的消息。
结论
总之,我们可以使用带有不同选项和时间参数的“**shutdown**”命令来计划 Linux 系统的关闭或重启。“**halt**”和“**poweroff**”命令也可分别用于停止或关闭系统。但是,务必谨慎使用这些命令,因为如果操作不当,可能会导致数据丢失。还需要注意的是,大多数现代 Linux 发行版都使用“**systemd**”作为其系统和服务管理器,并且所有关机命令都与同一个“**systemctl**”命令绑定。了解这些命令的行为以及可与其一起使用的开关,可以帮助我们更有效地控制 Linux 系统的关闭和重启过程。