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

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

做者: Prakash Subramanian 譯者: LCTT ChenYi linux

| 2018-10-31 20:55   收藏: 2 分享: 2    數據庫

在 Linux 管理員的日程當中,有不少須要執行的任務,其中就有系統的重啓和關閉。安全

對於 Linux 管理員來講,重啓和關閉系統是其諸多風險操做中的一例,有時候,因爲某些緣由,這些操做可能沒法挽回,他們須要更多的時間來排查問題。bash

在 Linux 命令行模式下咱們能夠執行這些任務。不少時候,因爲熟悉命令行,Linux 管理員更傾向於在命令行下完成這些任務。服務器

重啓和關閉系統的 Linux 命令並很少,用戶須要根據須要,選擇合適的命令來完成任務。工具

如下全部命令都有其自身特色,並容許被 Linux 管理員使用.spa

建議閱讀:hibernate

系統重啓和關閉之始,會通知全部已登陸的用戶和進程。固然,若是使用了時間參數,系統將拒絕新的用戶登入。命令行

執行此類操做以前,我建議您堅持複查,由於您只能獲得不多的提示來確保這一切順利。rest

下面陳列了一些步驟:

  • 確保您擁有一個能夠處理故障的控制檯,以防以後可能會發生的問題。 VMWare 能夠訪問虛擬機,而 IPMI、iLO 和 iDRAC 能夠訪問物理服務器。
  • 您須要經過公司的流程,申請修改或故障的執行權直到獲得許可。
  • 爲安全着想,備份重要的配置文件,並保存到其餘服務器上.
  • 驗證日誌文件(提早檢查)
  • 和相關團隊交流,好比數據庫管理團隊,應用團隊等。
  • 通知數據庫和應用服務人員關閉服務,並獲得肯定答覆。
  • 使用適當的命令覆盤操做,驗證工做。
  • 最後,重啓系統。
  • 驗證日誌文件,若是一切順利,執行下一步操做,若是發現任何問題,對症排查。
  • 不管是回退版本仍是運行程序,通知相關團隊提出申請。
  • 對操做作適當守候,並將預期的一切正常的反饋給團隊

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

  • shutdownhaltpoweroffreboot 命令:用來停機、重啓或切斷電源
  • init 命令:是 「initialization」 的簡稱,是系統啓動的第一個進程。
  • systemctl 命令:systemd 是 Linux 系統和服務器的管理程序。

方案 1:如何使用 shutdown 命令關閉和重啓 Linux 系統

shutdown 命令用於斷電或重啓本地和遠程的 Linux 機器。它爲高效完成做業提供多個選項。若是使用了時間參數,系統關閉的 5 分鐘以前,會建立 /run/nologin文件,以確保後續的登陸會被拒絕。

通用語法以下:

 
  1. # shutdown [OPTION] [TIME] [MESSAGE]

運行下面的命令來當即關閉 Linux 機器。它會馬上殺死全部進程,並關閉系統。

 
  1. # shutdown -h now
  • -h:若是不特指 -halt 選項,這等價於 -poweroff 選項。

另外咱們可使用帶有 -halt 選項的 shutdown 命令來當即關閉設備。

 
  1. # shutdown --halt now
  2. 或者
  3. # shutdown -H now
  • -H, --halt:中止設備運行

另外咱們可使用帶有 poweroff 選項的 shutdown 命令來當即關閉設備。

 
  1. # shutdown --poweroff now
  2. 或者
  3. # shutdown -P now
  • -P, --poweroff:切斷電源(默認)。

若是您沒有使用時間選項運行下面的命令,它將會在一分鐘後執行給出的命令。

 
  1. # shutdown -h
  2. Shutdown scheduled for Mon 2018-10-08 06:42:31 EDT, use 'shutdown -c' to cancel.
  3.  
  4. root@2daygeek.com#
  5. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:31 EDT):
  6.  
  7. The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!

其餘的登陸用戶都能在中斷中看到以下的廣播消息:

 
  1. [daygeek@2daygeek.com ~]$
  2. Broadcast message from root@2daygeek.com (Mon 2018-10-08 06:41:31 EDT):
  3.  
  4. The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!

對於使用了 -halt 選項:

 
  1. # shutdown -H
  2. Shutdown scheduled for Mon 2018-10-08 06:37:53 EDT, use 'shutdown -c' to cancel.
  3.  
  4. root@2daygeek.com#
  5. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:36:53 EDT):
  6.  
  7. The system is going down for system halt at Mon 2018-10-08 06:37:53 EDT!

對於使用了 -poweroff 選項:

 
  1. # shutdown -P
  2. Shutdown scheduled for Mon 2018-10-08 06:40:07 EDT, use 'shutdown -c' to cancel.
  3.  
  4. root@2daygeek.com#
  5. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:07 EDT):
  6.  
  7. The system is going down for power-off at Mon 2018-10-08 06:40:07 EDT!

能夠在您的終端上敲擊 shutdown -c 選項取消操做。

 
  1. # shutdown -c
  2.  
  3. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:09 EDT):
  4.  
  5. The system shutdown has been cancelled at Mon 2018-10-08 06:40:09 EDT!

其餘的登陸用戶都能在中斷中看到以下的廣播消息:

 
  1. [daygeek@2daygeek.com ~]$
  2. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:35 EDT):
  3.  
  4. The system shutdown has been cancelled at Mon 2018-10-08 06:42:35 EDT!

添加時間參數,若是你想在 N 秒以後執行關閉或重啓操做。這裏,您能夠爲全部登陸用戶添加自定義廣播消息。例如,咱們將在五分鐘後重啓設備。

 
  1. # shutdown -r +5 "To activate the latest Kernel"
  2. Shutdown scheduled for Mon 2018-10-08 07:13:16 EDT, use 'shutdown -c' to cancel.
  3.  
  4. [root@vps138235 ~]#
  5. Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 07:08:16 EDT):
  6.  
  7. To activate the latest Kernel
  8. The system is going down for reboot at Mon 2018-10-08 07:13:16 EDT!

運行下面的命令當即重啓 Linux 機器。它會當即殺死全部進程而且從新啓動系統。

 
  1. # shutdown -r now
  • -r, --reboot: 重啓設備。

方案 2:如何經過 reboot 命令關閉和重啓 Linux 系統

reboot 命令用於關閉和重啓本地或遠程設備。reboot 命令擁有兩個實用的選項。

它可以優雅的關閉和重啓設備(就好像在系統菜單中惦記重啓選項同樣簡單)。

執行不帶任何參數的 reboot 命令來重啓 Linux 機器。

 
  1. # reboot

執行帶 -p 參數的 reboot 命令來關閉 Linux 機器電源。

 
  1. # reboot -p
  • -p, --poweroff:調用 halt 或 poweroff 命令,切斷設備電源。

執行帶 -f 參數的 reboot 命令來強制重啓 Linux 設備(這相似按壓機器上的電源鍵)。

 
  1. # reboot -f
  • -f, --force:馬上強制中斷,切斷電源或重啓。

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

init(「initialization」 的簡寫)是系統啓動的第一個進程。

它將會檢查 /etc/inittab 文件並決定 linux 運行級別。同時,容許用戶在 Linux 設備上執行關機或重啓操做. 這裏存在從 0 到 6 的七個運行等級。

建議閱讀:

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

 
  1. # init 0
  • 0: 停機 – 關閉系統。

運行下面的 init 命令重啓設備:

 
  1. # init 6
  • 6:重啓 – 重啓設備。

方案 4:如何經過 halt 命令關閉和重啓 Linux 系統

halt 命令用來切斷電源或關閉遠程 Linux 機器或本地主機。 中斷全部進程並關閉 cpu。

 
  1. # halt

方案 5:如何經過 poweroff 命令關閉和重啓 Linux 系統

poweroff 命令用來切斷電源或關閉遠程 Linux 機器或本地主機。 poweroff 很像 halt,可是它能夠關閉設備硬件(燈和其餘 PC 上的其它東西)。它會給主板發送 ACPI 指令,而後信號發送到電源,切斷電源。

 
  1. # poweroff

方案 6:如何經過 systemctl 命令關閉和重啓 Linux 系統

systemd 是一款適用於全部主流 Linux 髮型版的全新 init 系統和系統管理器,而不是傳統的 SysV init 系統。

systemd 兼容與 SysV 和 LSB 初始化腳本。它可以替代 SysV init 系統。systemd 是內核啓動的第一個進程,並持有序號爲 1 的進程 PID。

建議閱讀:

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

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

systemd 使用 .service 文件而不是 SysV init 使用的 bash 腳本。 systemd 將全部守護進程歸與自身的 Linux cgroups 用戶組下,您能夠瀏覽 /cgroup/systemd 文件查看該系統層次等級。

 
  1. # systemctl halt
  2. # systemctl poweroff
  3. # systemctl reboot
  4. # systemctl suspend
  5. # systemctl hibernate
相關文章
相關標籤/搜索