首頁  >  文章  >  php教程  >  linux 關機指令總結

linux 關機指令總結

高洛峰
高洛峰原創
2016-12-17 16:26:441422瀏覽

linux下常用的關機指令有:shutdown、halt、poweroff、init;重啟指令有:reboot。以下本文主要介紹一些常用的關機指令以及各種關機指令之間的差異和具體用法。

首先來看一下linux下比較常用的一些關機命令

關機命令:

1、halt   立刻關機2、poweroff  立刻關機3、shutdown -h now 立刻關機(root用戶使用) 4、shutdown -h 10 10分鐘後自動關機如果是透過shutdown指令設定關機的話,可以用shutdown -c指令取消重啟

重啟指令:

1、reboot 2、shutdown -r now 立即重新啟動(root用戶使用) 3、shutdown -r 10 過10分鐘自動重啟(root用戶使用)  4、shutdown -r 20:35 在時間為20:35時候重啟(root用戶使用) 如果是透過shutdown指令設定重啟的話,可以用shutdown -c指令取消重啟

下面我們來看看linux的這些具體的關機命令之間的區別和各自的用法

1.shutdown 安全的關機命令

對於shutdown命令,它是大家都推薦的一個安全的命令,通過參數- h或-r的配合來完成關機或重新啟動。不過在linux系統中只有擁有root權限才可以使用這個指令。所以,雖然大家都推薦用這個指令,但這個指令用起來真的不太方便:想要用這個指令嗎?先去取得root權限吧。 shutdown執行關機,是送訊號給init,要求它改變運作級別,以此來關機。關機或重開機其實是運轉等級的調整,所以我們也可以用init直接調整運轉等級來進行關機或重開機。使用這個指令時,機器立即關機或重新啟動。它也需要root權限。

那為什麼說shutdown指令是安全地將系統關機呢?

實際中有些用戶會使用直接斷掉電源的方式來關閉linux,這是十分危險的。因為linux與windows不同,其後台運行許多進程,所以強制關機可能會導致進程的資料遺失使系統處於不穩定的狀態。甚至在有的系統中會損壞硬體設備。而在系統關機前使用shutdown指令,系統管理員會通知所有登入的使用者係統將會關閉。且login指令會被凍結,即新的使用者不能再登入。直接關機或延遲一定的時間才關機都是可能的,還有可能是重開機。這是由所有流程〔process〕都會收到系統所送達的訊號〔signal〕決定的。

shutdown執行它的工作是送信號〔signal〕給init程序,要求它改變 runlevel。 runlevel 0 被用來停機〔halt〕,runlevel 6 是用來重新啟動〔reboot〕系統,而 runlevel 1則是被用來讓系統進入管理工作可以進行的狀態,這是預設的。假設沒有-h也沒有-r參數給shutdown。要了解在停機〔halt〕或重新開機〔reboot〕過程中做了哪些動作?你可以在這個檔案/etc/inittab看到這些runlevels相關的資料。

shutdown 參數說明:

[-t] 在改變到其它runlevel之前,告訴init多久以後關機。 [-r] 重啟計算器。 [-k] 不真正關機,只是發送警訊給每位登入者〔login〕。 [-h] 關機後關閉電源〔halt〕。 [-n] 不用init而是自己來關機。不鼓勵使用這個選項,而且這個選項所產生的後果往往不總是你所預期得到的。 [-c] cancel current process取消目前正在執行的關機程式。所以這個選項當然沒有時間參數,但可以輸入一個用來解釋的訊息,而這資訊將會送到每位使用者。 [-f] 重新啟動計算機〔reboot〕時忽略fsck。   [-F] 在重啟計算器〔reboot〕時強迫fsck。 [-time] 設定關機〔shutdown〕前的時間。       2.halt 最簡單的關機指令

用halt指令來關機時,實際呼叫的是shutdown -h。 halt 執行時會殺死應用程式,執行sync系統呼叫檔案系統寫入操作完成後就會停止核心。

halt 參數說明:

[-n] 防止sync系統調用,它用在用fsck修補根分區之後,以阻止核心用舊版本的超級塊〔superblock〕覆蓋修補過的超級塊。 [-w] 不是真正的重啟或關機,只是寫wtmp〔/var/log/wtmp〕紀錄。 [-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。 [-f] 沒有呼叫shutdown而強制關機或重新啟動。 [-i] 關機〔或重新啟動〕前關掉所有的網路介面。 [-p] 此選項為預設選項。就是關機時調用poweroff。

3.poweroff 常用的關機命令

對於poweroff,網上說它是halt命令的鏈接,基本用法和 halt 差不多,這裡就不多說了。

4.init

init是所有進程的祖先,他是Linux系統操作中不可缺少的程式之一。它的進程號碼總是1,所以發送TERM訊號給init會終止所有的使用者進程,守護進程等。 shutdown 就是使用這種機制。 init定義了8個運作等級(runlevel),init 0為關機,init 1為重啟。

5.reboot 重啟指令

reboot的工作過程差不多跟halt一樣。不過它是引發主機重啟,而halt是關機。它的參數與halt相差不多。




更多linux 關機指令總結相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn