做者: Prakash Subramanian 译者: LCTT ChenYi linux
| 2018-10-31 20:55 收藏: 2 分享: 2 数据库
在 Linux 管理员的日程当中,有不少须要执行的任务,其中就有系统的重启和关闭。安全
对于 Linux 管理员来讲,重启和关闭系统是其诸多风险操做中的一例,有时候,因为某些缘由,这些操做可能没法挽回,他们须要更多的时间来排查问题。bash
在 Linux 命令行模式下咱们能够执行这些任务。不少时候,因为熟悉命令行,Linux 管理员更倾向于在命令行下完成这些任务。服务器
重启和关闭系统的 Linux 命令并很少,用户须要根据须要,选择合适的命令来完成任务。工具
如下全部命令都有其自身特色,并容许被 Linux 管理员使用.spa
建议阅读:hibernate
系统重启和关闭之始,会通知全部已登陆的用户和进程。固然,若是使用了时间参数,系统将拒绝新的用户登入。命令行
执行此类操做以前,我建议您坚持复查,由于您只能获得不多的提示来确保这一切顺利。rest
下面陈列了一些步骤:
使用下列命令执行这项任务。
shutdown
、halt
、poweroff
、reboot
命令:用来停机、重启或切断电源init
命令:是 “initialization” 的简称,是系统启动的第一个进程。systemctl
命令:systemd 是 Linux 系统和服务器的管理程序。shutdown
命令用于断电或重启本地和远程的 Linux 机器。它为高效完成做业提供多个选项。若是使用了时间参数,系统关闭的 5 分钟以前,会建立 /run/nologin
文件,以确保后续的登陆会被拒绝。
通用语法以下:
# shutdown [OPTION] [TIME] [MESSAGE]
运行下面的命令来当即关闭 Linux 机器。它会马上杀死全部进程,并关闭系统。
# shutdown -h now
-h
:若是不特指 -halt
选项,这等价于 -poweroff
选项。另外咱们可使用带有 -halt
选项的 shutdown
命令来当即关闭设备。
# shutdown --halt now
或者
# shutdown -H now
-H, --halt
:中止设备运行另外咱们可使用带有 poweroff
选项的 shutdown
命令来当即关闭设备。
# shutdown --poweroff now
或者
# shutdown -P now
-P, --poweroff
:切断电源(默认)。若是您没有使用时间选项运行下面的命令,它将会在一分钟后执行给出的命令。
# shutdown -h
Shutdown scheduled for Mon 2018-10-08 06:42:31 EDT, use 'shutdown -c' to cancel.
root@2daygeek.com#
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:31 EDT):
The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!
其余的登陆用户都能在中断中看到以下的广播消息:
[daygeek@2daygeek.com ~]$
Broadcast message from root@2daygeek.com (Mon 2018-10-08 06:41:31 EDT):
The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!
对于使用了 -halt
选项:
# shutdown -H
Shutdown scheduled for Mon 2018-10-08 06:37:53 EDT, use 'shutdown -c' to cancel.
root@2daygeek.com#
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:36:53 EDT):
The system is going down for system halt at Mon 2018-10-08 06:37:53 EDT!
对于使用了 -poweroff
选项:
# shutdown -P
Shutdown scheduled for Mon 2018-10-08 06:40:07 EDT, use 'shutdown -c' to cancel.
root@2daygeek.com#
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:07 EDT):
The system is going down for power-off at Mon 2018-10-08 06:40:07 EDT!
能够在您的终端上敲击 shutdown -c
选项取消操做。
# shutdown -c
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:09 EDT):
The system shutdown has been cancelled at Mon 2018-10-08 06:40:09 EDT!
其余的登陆用户都能在中断中看到以下的广播消息:
[daygeek@2daygeek.com ~]$
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:35 EDT):
The system shutdown has been cancelled at Mon 2018-10-08 06:42:35 EDT!
添加时间参数,若是你想在 N
秒以后执行关闭或重启操做。这里,您能够为全部登陆用户添加自定义广播消息。例如,咱们将在五分钟后重启设备。
# shutdown -r +5 "To activate the latest Kernel"
Shutdown scheduled for Mon 2018-10-08 07:13:16 EDT, use 'shutdown -c' to cancel.
[root@vps138235 ~]#
Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 07:08:16 EDT):
To activate the latest Kernel
The system is going down for reboot at Mon 2018-10-08 07:13:16 EDT!
运行下面的命令当即重启 Linux 机器。它会当即杀死全部进程而且从新启动系统。
# shutdown -r now
-r, --reboot
: 重启设备。reboot
命令用于关闭和重启本地或远程设备。reboot
命令拥有两个实用的选项。
它可以优雅的关闭和重启设备(就好像在系统菜单中惦记重启选项同样简单)。
执行不带任何参数的 reboot
命令来重启 Linux 机器。
# reboot
执行带 -p
参数的 reboot
命令来关闭 Linux 机器电源。
# reboot -p
-p, --poweroff
:调用 halt
或 poweroff
命令,切断设备电源。执行带 -f
参数的 reboot
命令来强制重启 Linux 设备(这相似按压机器上的电源键)。
# reboot -f
-f, --force
:马上强制中断,切断电源或重启。init
(“initialization” 的简写)是系统启动的第一个进程。
它将会检查 /etc/inittab
文件并决定 linux 运行级别。同时,容许用户在 Linux 设备上执行关机或重启操做. 这里存在从 0
到 6
的七个运行等级。
建议阅读:
执行如下 init
命令关闭系统。
# init 0
0
: 停机 – 关闭系统。运行下面的 init
命令重启设备:
# init 6
6
:重启 – 重启设备。halt
命令用来切断电源或关闭远程 Linux 机器或本地主机。 中断全部进程并关闭 cpu。
# halt
poweroff
命令用来切断电源或关闭远程 Linux 机器或本地主机。 poweroff
很像 halt
,可是它能够关闭设备硬件(灯和其余 PC 上的其它东西)。它会给主板发送 ACPI 指令,而后信号发送到电源,切断电源。
# poweroff
systemd 是一款适用于全部主流 Linux 发型版的全新 init 系统和系统管理器,而不是传统的 SysV init 系统。
systemd 兼容与 SysV 和 LSB 初始化脚本。它可以替代 SysV init 系统。systemd 是内核启动的第一个进程,并持有序号为 1 的进程 PID。
建议阅读:
它是一切进程的父进程,Fedora 15 是第一个适配安装 systemd (替代了 upstart)的发行版。
systemctl
是命令行下管理 systemd 守护进程和服务的主要工具(如 start
、restart
、stop
、enable
、disable
、reload
& status
)。
systemd 使用 .service 文件而不是 SysV init 使用的 bash 脚本。 systemd 将全部守护进程归与自身的 Linux cgroups 用户组下,您能够浏览 /cgroup/systemd
文件查看该系统层次等级。
# systemctl halt
# systemctl poweroff
# systemctl reboot
# systemctl suspend
# systemctl hibernate