linux中常用的關機和重新啟動命令有shutdown、halt、reboot以及init,它們都可以達到關機和重新啟動的目的,但是每個命令的內部工作過程是不同的,下面將逐一進行介紹。1. shutdown
shutdown命令用於安全關閉linux系統。有些使用者會使用直接斷掉電源的方式來關閉linux,這是十分危險的。因為linux與windows不同,其後台執行著許多程序,所以強制關機可能會導致程序的資料丟失,使系統處於不穩定的狀態,甚至會損壞硬體裝置。
執 行shutdown命令時,系統會通知所有登入的使用者系統將要關閉,並且login指令會被凍結,即新的使用者不能再登入系統。使用shutdown命令可 以直接關閉系統,也可以延遲指定的時間再關閉系統,還可以重新啟動。延遲指定的時間再關閉系統,可以讓使用者有時間儲存當前正在處理的檔案和關閉已經開啟的 程式。
shutdown命令的部分引數如下:
[-t] 指定在多長時間之後關閉系統
[-r] 重啟系統
[-k] 並不真正關機,只是給每個登入使用者傳送警告訊號
[-h] 關閉系統(halt)
shutdown命令的工作實質是給init程式傳送訊號(signal),要求其切換系統的執行級別(runlevel)。系統的執行級別包括:
0:關閉系統
1:單使用者模式,如果沒有為shutdown命令指定-h或-r引數而直接執行,則預設將切換到此執行級別
2:多使用者模式(不支援nfs)
3:多使用者模式(支援nfs),一般常用此種執行級別
5:多使用者模式(gui模式)
6:重新啟動系統
2. halt
halt是最簡單的關機命令,其實際上是呼叫shutdown -h命令。halt執行時,殺死應用程序,檔案系統寫操作完成後就會停止核心。
halt命令的部分引數如下:
[-f] 沒有呼叫shutdown而強制關機或重啟
[-i] 關機或重新啟動之前,關掉所有的網路介面
[-p] 關機時呼叫poweroff,此選項為預設選項
3.reboot
reboot的工作過程與halt類似,其作用是重新啟動,而halt是關機。其引數也與halt類似。
4.init
init是所有程序的祖先,其程序號始終為1。init用於切換系統的執行級別,切換的工作是立即完成的。init 0命令用於立即將系統執行級別切換為0,即關機;init 6命令用於將系統執行級別切換為6,即重新啟動。
shutdown與poweroff的
shutdown :使系統關閉,參考一下現有的解釋:「命令安全地將系統關機。 有些使用者會使用直接斷掉電源的方式來關閉linux,這是十分危險的。因為linux與windows不同,其後台執行著許多程序,所以強制關機可能會導致程序的資料丟失﹐使系統處於不穩定的狀態﹐甚至在有的系統中會損壞硬體裝置。 而在系統關機前使用shutdown命令﹐系統管理員會通知所有登入的使用者系統將要關閉。並且login指令會被凍結﹐即新的使用者不能再登入。直接關機或者延遲一定的時間才關機都是可能的﹐還可能重 啟。這是由所有程序〔process〕都會收到系統所送達的訊號〔signal〕決定的。這讓像vi之類的程式有時間儲存目前正在編輯的文件﹐而像處理郵件〔mail〕和新聞〔news〕的程式則可以正常地離開等等」而且shutdown會去執行 /etc/rc0.d/ 下面的指令碼,也就是說會去執行runlevel 0 的指令碼。 halt則不會。
poweroff : 切斷系統電源
poweroff就是halt的軟鏈結而已。執行的還是halt命令。關於halt 命令,可以這樣理解:halt就是呼叫shutdown -h。halt執行時﹐殺死應用程序﹐執行sync系統呼叫﹐檔案系統寫操作完成後就會停止核心。
linux命令學習4
1.chattr命令 chattr命令用來改變檔案屬性。語法 chattr 選項 選項 r 將指令目錄下的所有檔案及子目錄一併處理 v 顯示指令執行過程 開啟檔案或目錄的該項屬性 關閉檔案或目錄的該項屬性 指定檔案或目錄的該項屬性。屬性包括 a 讓檔案或目錄僅供附加用途 b 不更新檔案或目錄的最後訪...
linux命令學習(4) mkdir命令
linux mkdir命令用來建立指定名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄。1 命令格式 mkdir 選項 目錄 2 命令功能 通過 mkdir 命令可以實現在指定位置建立以 dirname 指定的檔名 命名的資料夾或目錄。要建立資料夾...
Linux學習筆記《基本命令4
通訊命令 我們都知道linux有別於windows是的乙個特性就是,多使用者的作業系統。允許多個使用者同進對系統進行操作。那麼多個使用者之間如何進行通訊呢?下面來看兩個有趣的通訊命令。write 發給某個使用者資訊 root localhost write 使用者名稱 例如 root localho...