linux中關(guān)機(jī)命令
Linux中關(guān)機(jī)的命令有好幾個,其中包括shutdown,halt等命令,下面由學(xué)習(xí)啦小編為大家整理了linux關(guān)機(jī)命令的相關(guān)知識,希望對大家有幫助!
linux中的關(guān)機(jī)命令1.shutdown 安全的關(guān)機(jī)命令
對于shutdown命令,它是大家都推薦的一個安全的命令,通過參數(shù)-h或-r的配合來完成關(guān)機(jī)或重啟。不過在linux系統(tǒng)中只有擁有root權(quán)限才可以使用這個命令。所以,雖然大家都推薦用這個命令,但是這個命令用起來真的不太方便:想要用這個命令嗎?先去獲得root權(quán)限吧。shutdown執(zhí)行關(guān)機(jī),是送信號給init,要求它改變運(yùn)行級別,以此來關(guān)機(jī)。關(guān)機(jī)或重啟實際上是運(yùn)行級別的調(diào)整,所以我們也可以用init直接調(diào)整運(yùn)行級別來進(jìn)行關(guān)機(jī)或重啟。使用這個命令時,機(jī)器立即關(guān)機(jī)或重啟。它也需要root權(quán)限。
那么為什么說shutdown命令是安全地將系統(tǒng)關(guān)機(jī)呢?
實際中有些用戶會使用直接斷掉電源的方式來關(guān)閉linux,這是十分危險的。因為linux與windows不同,其后臺運(yùn)行著許多進(jìn)程,所以強(qiáng)制關(guān)機(jī)可能會導(dǎo)致進(jìn)程的數(shù)據(jù)丟失使系統(tǒng)處于不穩(wěn)定的狀態(tài)。甚至在有的系統(tǒng)中會損壞硬件設(shè)備。而在系統(tǒng)關(guān)機(jī)前使用shutdown命令,系統(tǒng)管理員會通知所有登錄的用戶系統(tǒng)將要關(guān)閉。并且login指令會被凍結(jié),即新的用戶不能再登錄。直接關(guān)機(jī)或者延遲一定的時間才關(guān)機(jī)都是可能的,還有可能是重啟。這是由所有進(jìn)程〔process〕都會收到系統(tǒng)所送達(dá)的信號〔signal〕決定的。
shutdown執(zhí)行它的工作是送信號〔signal〕給init程序,要求它改變 runlevel。runlevel 0 被用來停機(jī)〔halt〕,runlevel 6 是用來重新激活〔reboot〕系統(tǒng),而 runlevel 1則是被用來讓系統(tǒng)進(jìn)入管理工作可以進(jìn)行的狀態(tài),這是預(yù)設(shè)的。假定沒有-h也沒有-r參數(shù)給shutdown。要想了解在停機(jī)〔halt〕或者重新開機(jī)〔reboot〕過程中做了哪些動作?你可以在這個文件/etc/inittab里看到這些runlevels相關(guān)的資料。
shutdown 參數(shù)說明:
[-t] 在改變到其它runlevel之前,告訴init多久以后關(guān)機(jī)。 [-r] 重啟計算器。 [-k] 并不真正關(guān)機(jī),只是送警告信號給每位登錄者〔login〕。 [-h] 關(guān)機(jī)后關(guān)閉電源〔halt〕。 [-n] 不用init而是自己來關(guān)機(jī)。不鼓勵使用這個選項,而且該選項所產(chǎn)生的后果往往不總是你所預(yù)期得到的。 [-c] cancel current process取消目前正在執(zhí)行的關(guān)機(jī)程序。所以這個選項當(dāng)然沒有時間參數(shù),但是可以輸入一個用來解釋的訊息,而這信息將會送到每位使用者。 [-f] 在重啟計算器〔reboot〕時忽略fsck。 [-F] 在重啟計算器〔reboot〕時強(qiáng)迫fsck。 [-time] 設(shè)定關(guān)機(jī)〔shutdown〕前的時間。
linux中的關(guān)機(jī)命令2.halt 最簡單的關(guān)機(jī)命令
用halt命令來關(guān)機(jī)時,實際調(diào)用的是shutdown -h。halt 執(zhí)行時將殺死應(yīng)用進(jìn)程,執(zhí)行sync系統(tǒng)調(diào)用文件系統(tǒng)寫操作完成后就會停止內(nèi)核。
halt 參數(shù)說明:
[-n] 防止sync系統(tǒng)調(diào)用,它用在用fsck修補(bǔ)根分區(qū)之后,以阻止內(nèi)核用老版本的超級塊〔superblock〕覆蓋修補(bǔ)過的超級塊。 [-w] 并不是真正的重啟或關(guān)機(jī),只是寫wtmp〔/var/log/wtmp〕紀(jì)錄。 [-d] 不寫wtmp紀(jì)錄〔已包含在選項[-n]中〕。 [-f] 沒有調(diào)用shutdown而強(qiáng)制關(guān)機(jī)或重啟。 [-i] 關(guān)機(jī)〔或重啟〕前關(guān)掉所有的網(wǎng)絡(luò)接口。 [-p] 該選項為缺省選項。就是關(guān)機(jī)時調(diào)用poweroff。
linux中的關(guān)機(jī)命令3.poweroff 常用的關(guān)機(jī)命令
對于poweroff,網(wǎng)上說它是halt命令的鏈接,基本用法和 halt 差不多,這里就不多說了。
linux中的關(guān)機(jī)命令4.init
init是所有進(jìn)程的祖先,他是Linux系統(tǒng)操作中不可缺少的程序之一。它的進(jìn)程號始終為1,所以發(fā)送TERM信號給init會終止所有的用戶進(jìn)程,守護(hù)進(jìn)程等。shutdown 就是使用這種機(jī)制。init定義了8個運(yùn)行級別(runlevel),init 0為關(guān)機(jī),init 1為重啟。