https://www.2daygeek.com/6-commands-to-shutdown-halt-poweroff-reboot-the-linux-system/
作者 | Prakash Subramanian
譯者 | ChenYi (cyleft) ???共計翻譯:26.0 篇 貢獻時間:303 天
在 Linux 管理員的日程當中,有很多需要執行的任務,其中就有系統的重啟和關閉。
對於 Linux 管理員來說,重啟和關閉系統是其諸多風險操作中的一例,有時候,由於某些原因,這些操作可能無法輓回,他們需要更多的時間來排查問題。
在 Linux 命令列樣式下我們可以執行這些任務。很多時候,由於熟悉命令列,Linux 管理員更傾向於在命令列下完成這些任務。
重啟和關閉系統的 Linux 命令並不多,使用者需要根據需要,選擇合適的命令來完成任務。
以下所有命令都有其自身特點,並允許被 Linux 管理員使用.
建議閱讀:
系統重啟和關閉之始,會通知所有已登入的使用者和行程。當然,如果使用了時間引數,系統將拒絕新的使用者登入。
執行此類操作之前,我建議您堅持複查,因為您只能得到很少的提示來確保這一切順利。
下麵陳列了一些步驟:
使用下列命令執行這項任務。
shutdown
、halt
、poweroff
、reboot
命令:用來停機、重啟或切斷電源init
命令:是 “initialization” 的簡稱,是系統啟動的第一個行程。systemctl
命令:systemd 是 Linux 系統和伺服器的管理程式。方案 1:如何使用 shutdown 命令關閉和重啟 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
: 重啟裝置。方案 2:如何透過 reboot 命令關閉和重啟 Linux 系統
reboot
命令用於關閉和重啟本地或遠端裝置。reboot
命令擁有兩個實用的選項。
它能夠優雅的關閉和重啟裝置(就好像在系統選單中惦記重啟選項一樣簡單)。
執行不帶任何引數的 reboot
命令來重啟 Linux 機器。
# reboot
執行帶 -p
引數的 reboot
命令來關閉 Linux 機器電源。
# reboot -p
-p, --poweroff
:呼叫 halt
或 poweroff
命令,切斷裝置電源。執行帶 -f
引數的 reboot
命令來強制重啟 Linux 裝置(這類似按壓機器上的電源鍵)。
# reboot -f
-f, --force
:立刻強制中斷,切斷電源或重啟。方案 3:如何透過 init 命令關閉和重啟 Linux 系統
init
(“initialization” 的簡寫)是系統啟動的第一個行程。
它將會檢查 /etc/inittab
檔案並決定 linux 執行級別。同時,允許使用者在 Linux 裝置上執行關機或重啟操作. 這裡存在從 0
到 6
的七個執行等級。
建議閱讀:
執行以下 init
命令關閉系統。
# init 0
0
: 停機 – 關閉系統。執行下麵的 init
命令重啟裝置:
# init 6
6
:重啟 – 重啟裝置。方案 4:如何透過 halt 命令關閉和重啟 Linux 系統
halt
命令用來切斷電源或關閉遠端 Linux 機器或本地主機。 中斷所有行程並關閉 cpu。
# halt
方案 5:如何透過 poweroff 命令關閉和重啟 Linux 系統
poweroff
命令用來切斷電源或關閉遠端 Linux 機器或本地主機。 poweroff
很像 halt
,但是它可以關閉裝置硬體(燈和其他 PC 上的其它東西)。它會給主機板傳送 ACPI 指令,然後訊號傳送到電源,切斷電源。
# poweroff
方案 6:如何透過 systemctl 命令關閉和重啟 Linux 系統
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
via: https://www.2daygeek.com/6-commands-to-shutdown-halt-poweroff-reboot-the-linux-system/
作者:Prakash Subramanian[6] 選題:lujun9972 譯者:cyleft 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出