歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux系統關機與重新

Linux系統關機與重新

日期:2017/3/1 16:36:10   编辑:關於Linux
Linux系統關機與重新 不同於桌面系統,作為服務器,我們較少對Linux系統進行系統重啟,但在以下情形出現時,我們會對機器進行重啟: www.2cto.com 更換硬件 更改系統配置 系統僵死,需要重啟恢復 關閉和重啟系統方式 引導系統本質上只能用一種方法,與此不同的是,關閉或重新引導系統有多種方法: 關閉電源(下電) 使用shutdown命令 使用halt、poweroff或reboot命令 www.2cto.com 使用telinit改變init運行級別 關閉電源 基於以下兩點原因,直接對機器下電,並不是一種好的習慣: 可能導致硬件損壞 部分數據可能仍在內存,未被寫回磁盤,這時下電會丟失數據或造成文件系統損害; 因而盡量使用其他方式關閉或重新引導系統。 shutdown命令 使用shutdown可以掛起(halt)或重啟(reboot)系統,使用-h選項指示掛起系統,起到與halt命令相同的作用;使用-r選項指示重啟系統,起到與reboot命令相同的作用。 執行shutdown命令後,系統將向所有登陸用戶發送掛起或重啟消息。 執行shutdown –h now後發送掛起消息: [sql] <span style="font-family:Comic Sans MS;font-size:18px;"># shutdown -h now Broadcast message from root (tty1) (Thu May 3 10:58:22 2012): The system is going down for system halt NOW! INIT: Switching to runlevel: 0 INIT: Sending processes the TERM signal</span> 執行shutdown –r now後發送重啟消息: [sql] <span style="font-family:Comic Sans MS;font-size:18px;"># shutdown -r now Broadcast message from root (tty1) (Thu May 3 11:18:22 2012): The system is going down for system reboot NOW! INIT: Switching to runlevel: 6 INIT: Sending processes the TERM signal</span> 執行shutdown後,其他用戶不能再登入系統,另我們可以指定系統掛起或重啟的時間以及說明,如下兩例: 凌晨1::00停機維護: [sql] <span style="font-family:Comic Sans MS;font-size:18px;">shutdown –h 1:00 “going down for scheduled maintenance. Expected downtime is 1 hour.”</span> 指定相對關機時間15分鐘後關機: [sql] <span style="font-family:Comic Sans MS;font-size:18px;">shutdown –h +15 “going down for emergency check.”</span> halt和reboot命令 halt記錄關機情況,終止非必要進程,執行sync系統調用,等待文件系統寫操作完成,然後停止內核,poweroff命令等價於halt。 從以上”shutdown –h”和”shutdown –r”執行輸出可知,執行halt即進入運行級別0,執行reboot即進入運行級別6,日志文件/var/log/messages中會記錄相應日志。 系統重啟日志: [sql] <span style="font-family:Comic Sans MS;font-size:18px;">May 3 11:45:25 slot14 shutdown[11119]: shutting down for system reboot May 3 11:45:25 slot14 init: Switching to runlevel: 6 May 3 11:45:25 slot14 user_cmd: 2012-05-03 11:45:25 shutdown -r now by root from [root tty1 May 3 11:44]</span> 系統掛起日志: [sql] <span style="font-family:Comic Sans MS;font-size:18px;">May 3 10:50:22 slot14 shutdown[11561]: shutting down for system halt May 3 10:50:22 slot14 init: Switching to runlevel: 0 May 3 10:50:22 slot14 user_cmd: 2012-05-03 10:50:22 shutdown -h now by root from [root tty1 May 3 10:48]</span> 通過查看/var/log/messages日志記錄,可判斷機器是無端重啟還是人為地重啟。 telinit命令 執行telinit命令可以指引init進入指定的運行級別,如重啟系統: [sql] <span style="font-family:Comic Sans MS;font-size:18px;">#telinit 6</span> 使用telinit時,不會得到像執行shutdown那樣友好的警告信息,較少用作掛起和重啟命令,不過進行/etc/inittab文件的修改測試,使用該命令比較方便。 小結 對於承載已上線業務的服務器,重啟系統是比較大的動作。當操作系統相關故障發生時,我們應先考慮收集日志信息,必要時再進行系統重啟。
Copyright © Linux教程網 All Rights Reserved