1. 程式人生 > 其它 >重啟和關閉 Linux 系統的 6 個終端命令

重啟和關閉 Linux 系統的 6 個終端命令

在 Linux 管理員的日程當中,有很多需要執行的任務,其中就有系統的重啟和關閉。

對於 Linux 管理員來說,重啟和關閉系統是其諸多風險操作中的一例,有時候,由於某些原因,這些操作可能無法挽回,他們需要更多的時間來排查問題。

在 Linux 命令列模式下我們可以執行這些任務。很多時候,由於熟悉命令列,Linux 管理員更傾向於在命令列下完成這些任務。

重啟和關閉系統的 Linux 命令並不多,使用者需要根據需要,選擇合適的命令來完成任務。

以下所有命令都有其自身特點,並允許被 Linux 管理員使用.

建議閱讀:

  • 檢視系統/伺服器正常執行時間的 11 個方法
  • Tuptime 一款為 Linux 系統儲存歷史記錄、統計執行時間工具

系統重啟和關閉之始,會通知所有已登入的使用者和程序。當然,如果使用了時間引數,系統將拒絕新的使用者登入。

執行此類操作之前,我建議您堅持複查,因為您只能得到很少的提示來確保這一切順利。

下面陳列了一些步驟:

  • 確保您擁有一個可以處理故障的控制檯,以防之後可能會發生的問題。 VMWare 可以訪問虛擬機器,而 IPMI、iLO 和 iDRAC 可以訪問物理伺服器。
  • 您需要通過公司的流程,申請修改或故障的執行權直到得到許可。
  • 為安全著想,備份重要的配置檔案,並儲存到其他伺服器上.
  • 驗證日誌檔案(提前檢查)
  • 和相關團隊交流,比如資料庫管理團隊,應用團隊等。
  • 通知資料庫和應用服務人員關閉服務,並得到確定答覆。
  • 使用適當的命令覆盤操作,驗證工作。
  • 最後,重啟系統。
  • 驗證日誌檔案,如果一切順利,執行下一步操作,如果發現任何問題,對症排查。
  • 無論是回退版本還是執行程式,通知相關團隊提出申請。
  • 對操作做適當守候,並將預期的一切正常的反饋給團隊

使用下列命令執行這項任務。

  • shutdownhaltpoweroffreboot命令:用來停機、重啟或切斷電源
  • 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.

[email protected]#
Broadcast message from [email protected] (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!

其他的登入使用者都能在中斷中看到如下的廣播訊息:

[[email protected] ~]$
Broadcast message from [email protected] (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.

[email protected]#
Broadcast message from [email protected] (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.

[email protected]#
Broadcast message from [email protected] (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 [email protected] (Mon 2018-10-08 06:39:09 EDT):

The system shutdown has been cancelled at Mon 2018-10-08 06:40:09 EDT!

其他的登入使用者都能在中斷中看到如下的廣播訊息:

[[email protected] ~]$
Broadcast message from [email protected] (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 [email protected] (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:呼叫haltpoweroff命令,切斷裝置電源。

執行帶-f引數的reboot命令來強制重啟 Linux 裝置(這類似按壓機器上的電源鍵)。

# reboot -f
  • -f, --force:立刻強制中斷,切斷電源或重啟。

方案 3:如何通過 init 命令關閉和重啟 Linux 系統

init(“initialization” 的簡寫)是系統啟動的第一個程序。

它將會檢查/etc/inittab檔案並決定 linux 執行級別。同時,允許使用者在 Linux 裝置上執行關機或重啟操作. 這裡存在從6的七個執行等級。

建議閱讀:

  • 如何檢查 Linux 上所有執行的服務

執行以下init命令關閉系統。

# init 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。

建議閱讀:

  • chkservice – 一款終端下系統單元管理工具

它是一切程序的父程序,Fedora 15 是第一個適配安裝 systemd (替代了 upstart)的發行版。

systemctl是命令列下管理 systemd 守護程序和服務的主要工具(如startrestartstopenabledisablereload&status)。

systemd 使用 .service 檔案而不是 SysV init 使用的 bash 指令碼。 systemd 將所有守護程序歸與自身的 Linux cgroups 使用者組下,您可以瀏覽/cgroup/systemd檔案檢視該系統層次等級。

# systemctl halt
# systemctl poweroff
# systemctl reboot
# systemctl suspend
# systemctl hibernate