從命令行關閉Linux計算機的5種方法

沒有操做系統是完美的。 即便相對穩定,驅動程序和應用程序也可能存在問題。 Linux也不例外。 儘管比Windows更穩定(在許多狀況下,並不是所有!),但可能還須要從新啓動Linux計算機。 這多是由於某些東西不起做用。 或者,您可能經過SSH鏈接到遠程計算機或服務器,並但願它從新啓動或徹底關閉。linux

可是你怎麼作呢? 有幾個命令可用於經過命令行關閉或從新啓動(或從新啓動)Linux計算機。面試

讓咱們依次研究它們,並研究應該如何以及什麼時候使用這些命令。bash

從命令行關閉Linux計算機的5種方法

一、關機服務器

若是您已經使用了Linux機器,那麼簡單地關閉它的解決方案就是使用經過SSH發送的關機指令(若是您使用的是Windows PC,那麼您有幾個SSH工具可供選擇)。這能夠用來永久關閉計算機(直到您決定從新啓動它)或從新啓動。該命令的語法以下:架構

shutdown [option] [time] [message]工具

例如,要當即關閉計算機,您將使用:學習

shutdown -h now 複製代碼

這裏,-h表示暫停,而如今明確表示該指令應當即執行。 可使用不一樣的延遲。 例如,您可使用+9代替,這將告訴計算機在9分鐘內運行關機程序。ui

若是你想包含一條信息,這條信息將會顯示給全部已登陸的用戶:spa

linuxidc@linuxidc:~/linuxidc.com$ shutdown -h +9 "服務器正在關閉,請保存您的工做並註銷。"  Shutdown scheduled for Sun 2019-04-28 10:37:30 CST, use 'shutdown -c' to cancel. 複製代碼


請記住,您能夠找到這些命令的開關的完整列表,輸入:操作系統

[command] --help 複製代碼

用-r從新啓動

另外一種選擇是使用-r命令從新啓動計算機。 這用於代替-h,所以要從新啓動計算機或服務器,您可使用:

linuxidc@linuxidc:~/linuxidc.com$ shutdown -h +3 "服務器將在在3分鐘後從新啓動, 請保存您的工做並註銷。"  Shutdown scheduled for Sun 2019-04-28 10:49:38 CST, use 'shutdown -c' to cancel. 複製代碼


能夠經過輸入shutdown -c命令取消任何計劃的關閉或從新啓動:

linuxidc@linuxidc:~/linuxidc.com$ shutdown -c 複製代碼

二、從新啓動

因爲shutdown命令具備重啓選項,所以瞭解reboot命令有關閉選項也就不足爲奇了。

標準的重啓命令是:

reboot 複製代碼

這將提示您的計算機自動關閉,而後再從新打開。然而,若是你想關掉設備,那麼-p開關將工做:

reboot -p 複製代碼

另外一種選擇是強制重啓。若是應用程序或服務正在掛起,而您須要快速重啓,這將很是有用:

reboot -f 複製代碼

這將強制從新啓動Linux機器。

三、Halt

咱們已經看到了上面的-h開關,可是halt能夠單獨用做命令。這將致使計算機當即關閉,用一個簡單的四個字母單詞:

halt 複製代碼

-f開關也能夠用於暫停,但結果不一致,而且可能致使系統穩定性問題。

四、定時關機

您可能更喜歡poweroff命令的術語。這與halt徹底相同,只是它須要兩倍的輸入時間。

可是,除了使用-f強制關機外,還可使用-w開關將系統重啓調用記錄到/var/log/wtmp。這是一個潛在有用的調試工具,就像-verbose同樣,它能夠幫助解決關機問題。

poweroff --verbose 複製代碼

五、緊急選項:REISUB

當系統運行正常時,可使用上面的全部命令。但若是它崩潰了呢?若是PC或服務器正在掛起,沒法以合適的方式從新啓動,該怎麼辦?

答案就是鍵盤組合。若是您已從Windows切換,您可能知道Ctrl + Alt + Del會顯示一個菜單,其中包含Shutdown做爲選項。若是保持更長時間,機器將自動關閉。同時,在Mac上,您只需按住電源按鈕(也適用於Windows硬件的選項)。

在Linux中,鍵盤組合爲Alt + Print Screen + B以從新啓動。 可是,若是這不起做用,或者存在更復雜的問題,則可使用最多六個鍵來更改組合。

這就是所謂的REISUB,是取如下詞語的縮略語:

  • unRaw - 從X顯示服務器控制鍵盤。
  • tErminate - 將終止信號SIGTERM發送到全部進程,以便正常終止。
  • kIll - 如上所述,但SIGKILL信號強制當即終止進程。
  • Sync - 將數據刷新到磁盤。
  • Unmount- 這會將全部文件系統從新裝入只讀狀態。
  • reBoot - 正如您所指望的那樣。

要使其起做用,您應按下Alt + Print Screen,而後按順序按下R E I S U B鍵。 在每一個按鍵之間留一兩秒。 請注意,此方法一般不適用於具備ARM體系結構的計算機(例如Raspberry Pi)。

救命,我不當心關閉了個人Linux PC或服務器!

咱們已經瞭解瞭如何取消關機或重啓命令。然而,當一個重要的進程正在運行時,您很容易啓動shutdown命令——尤爲是在遠程服務器上。解決這個問題的一種方法是安裝molly-guard,它能夠經過檢查某些參數來覆蓋關機。

例如,有一個腳本檢查SSH會話(與FTP不一樣)。若是您發送從新啓動、中止、關機或關機命令,molly-guard將要求您要關閉的主機的名稱。

要使用它,請在終端中安裝molly-guard:

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install molly-guard 複製代碼


當molly-guard在後臺運行時,它將檢測諸如poweroff之類的命令,並報告已檢測到SSH會話。 而後,您能夠選擇輸入服務器的主機名以確認關閉,或者按Ctrl + C取消。 有用!

從命令行關閉Linux計算機的這五種方法特別有用,由於它們能夠在計算機自己上使用,也能夠經過遠程SSH使用。 因爲這些命令很是簡潔,所以能夠快速使用 - 這可能會致使意外重啓! 幸運的是,molly-guard實用程序足以免這種狀況。

以爲不錯請點贊支持,歡迎留言或進個人我的羣855801563領取【架構資料專題目合集90期】、【BATJTMD大廠JAVA面試真題1000+】,本羣專用於學習交流技術、分享面試機會,拒絕廣告,我也會在羣內不按期答題、探討。

相關文章
相關標籤/搜索