六、關閉和重啓Linux系統安全
本節主要學習在Linux系統下經常使用的關閉/重啓系統的命令有shutdown、halt、reboot、poweoff和init等。網絡
6.1 shutdown用來進行關機程序而且在關機之前傳送訊息給全部使用者正在執行的程序shutdown 也能夠用來重開機。ide
使用權限系統管理者。學習
shutdown命令能夠安全地關閉或重啓Linux系統有些用戶會使用直接斷掉電源的方式來關閉計算機這是十分危險的。Linux系統與Windows系統不一樣其後臺運行着許多進程因此強制關機可能致使進程的數據丟失使系統處於不穩定的狀態在有的系統中甚至會損壞硬件設備。spa
在系統關機前使用shutdown命令系統管理員會通知一條警告信息給全部登錄的用戶告訴他們系統將要關閉而且login進程會被凍結即新的用戶不能再登陸。直接關機或者延遲必定的時間才關機都是可能的還可能重啓。日誌
shutdown命令還容許用戶指定一個時間參數該參數能夠是一個精確的時間也能夠是從如今開始的一個時間段。精確時間的格式hh:mm標示小時和分鐘時間段由「+」和分鐘數表示。系統執行該命令後會自動進行數據同步的工做。orm
6.1.1 命令語法接口
shutdown[選項][時間][警告信息]進程
shutdown [-t seconds] [-rkhncfF] time [message]同步
6.1.2 選項參數
shutdown命令選項參數含義
選項 | 選項含義 |
-t seconds | 設定在幾秒鐘以後進行關機程序 |
-k | 並不會真的關機只是將警告訊息傳送給全部只用者 |
-r | 關機後從新開機 |
-h | 關機後停機 |
-n | 不採用正常程序來關機用強迫的方式殺掉全部執行中的程序後自行關機 |
-c | 取消目前已經進行中的關機動做 |
-f | 關機時不作 fcsk 動做(檢查 Linux 檔系統) |
-F | 關機時強迫進行 fsck 動做 |
time | 設定關機的時間 |
message | 傳送給全部使用者的警告訊息 |
6.1.3實例
實例
例1當即關機
# shutdown -h now
例2指定5分鐘後關機
# shutdown +5 「System will shutdown after 5 minutes」 //5分鐘夠關機並顯示警告信息
6.2 halt若系統的 runlevel 爲 0 或 6 則Linux halt命令關閉系統不然以 shutdown 指令加上 -h 參數來取代。
使用權限系統管理者。
使用halt命令就是diao調用「shutdown -h」命令執行關機任務。
6.2.1 命令語法
halt[選項]
6.2.2選項參數
halt命令選項含義
選項 | 選項含義 |
-w | 並非真正的關閉系統只是寫入到/var/log/wtmp文件中 |
-n | 關閉系統前不一樣步 |
-d | 關閉系統不把記錄寫到/var/log/wtmp日誌文件中 |
-f | 沒有調用shutdown而強制關閉系統 |
-i | 關機系統前關掉全部的網絡接口 |
6.2.3實例
例1關閉系統
# halt
例2關閉系統並關閉電源
# halt -p
例3關閉系統但不留下紀錄
# halt -d
6.3 reboot用於用來從新啓動計算機
reboot的工做過程與halt類似不過reboot是引起計算機重啓而halt是引起計算機關閉。它的選項與halt類似。
6.3.1 命令語法
reboot[選項]
6.3.2 選項參數
reboot命令選項含義
選項 | 選項含義 |
-w | 並非真正的重啓系統只是寫入到/var/log/wtmp文件中 |
-d | 重啓系統不把記錄寫到/var/log/wtmp日誌文件中 |
-i | 重啓計算機前關閉網絡 |
-f | 沒有調用shutdown而強制從新啓動系統 |
-n | 從新啓動系統前不一樣步 |
6.3.3實例
從新啓動
# reboot
6.4 poweoff馬上關機切斷系統電源
poweroff就是halt的軟連接而已。執行的仍是halt命令。關於halt 命令能夠這樣理解halt就是調用shutdown -h。halt執行時殺死應用進程執行sync系統調用文件系統寫操做完成後就會中止內核。
6.5 initinit是全部進程的祖先他是Linux系統操做中不可缺乏的程序之一。它的進程號始終爲1因此發送TERM信號給init會終止全部的用戶進程守護進程等。
shutdown 就是使用這種機制。init定義了7個運行級別(runlevel)init 0爲關機init 6爲重啓。
6.5.1實例
例1關閉計算機系統
[root@localhost~]#init0
//切換到運行級別0就至關於關閉系統
例2從新啓動計算機系統
[root@localhost~]#init6
//切換到運行級別6就至關於從新啓動系統