五個關(guān)機命令

shutdown

shutdown命令安全地將系統(tǒng)關(guān)機。 有些用戶會使用直接斷掉電源的方式來關(guān)閉linux,這是十分危險的。因為linux與windows不同,其后臺運行著許多進程,所以強制關(guān)機可能會導致進程的數(shù)據(jù)丟失﹐使系統(tǒng)處于不穩(wěn)定的狀態(tài)﹐甚至在有的系統(tǒng)中會損壞硬件設(shè)備。而在系統(tǒng)關(guān)機前使用shutdown命令﹐系統(tǒng)管理員會通知所有登錄的用戶系統(tǒng)將要關(guān)閉。并且login指令會被凍結(jié)﹐即新的用戶不能再登錄。直接關(guān)機或者延遲一定的時間才關(guān)機都是可能的﹐還可能重啟。這是由所有進程〔process〕都會收到系統(tǒng)所送達的信號〔signal〕決定的。這讓像vi之類的程序有時間儲存目前正在編輯的文檔﹐而像處理郵件〔mail〕和新聞〔news〕的程序則可以正常地離開等等。

shutdown執(zhí)行它的工作是送信號〔signal〕給init程序﹐要求它改變runlevel。Runlevel 0被用來停機〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統(tǒng)﹐而runlevel 1則是被用來讓系統(tǒng)進入管理工作可以進行的狀態(tài)﹔這是預設(shè)的﹐假定沒有-h也沒有-r參數(shù)給shutdown。要想了解在停機〔halt〕或者重新開機〔reboot〕過程中做了哪些動作﹐你可以在這個文件/etc/inittab里看到這些runlevels相關(guān)的資料。

halt

其實halt就是調(diào)用shutdown -h。halt執(zhí)行時﹐殺死應(yīng)用進程﹐執(zhí)行sync系統(tǒng)調(diào)用﹐文件系統(tǒng)寫操作完成后就會停止內(nèi)核。

reboot

reboot的工作過程差不多跟halt一樣﹐不過它是引發(fā)主機重啟﹐而halt是關(guān)機。它 的參數(shù)與halt相差不多。

init

nit是所有進程的祖先﹐它的進程號始終為1﹐所以發(fā)送TERM信號給init會終止所有的 用戶進程﹑守護進程等。shutdown 就是使用這種機制。init定義了8個運行級別(runlevel), init 0為關(guān)機﹐init 1為重啟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容