Linux大多用在服務器領域,所以很少關機,除非特殊情況下,才不得已關機。
linux下的程序(或者稱為服務),都是在背景下執行的。因此,在背后可能有很多人同時在主機工作,這個時候突然關機,會導致其它人的數據中斷;除此之外,若不正常關機,則可能造成文件系統的損壞。
關機之前的常用指令
查看系統當前有哪些用戶:
who
查看當前的網絡狀態:
netstat -a
查看后台下有哪些程序在執行:
ps -aux
將數據從內存同步到硬盤(這一步十分重要,最好在關機之前執行一下此命令):
sync
關機與重啟指令
shutdown命令
shutdown命令可以安全地關閉或重啟Linux系統,它在系統關閉之前給系統上的所有登錄用戶提示一條警告信息。該命令還允許用戶指定一個時間參數,可以是一個精確的時間,也可以是從現在開始的一個時間段。精確時間的格式是hh:mm,表示小時和分鍾,時間段由+ 和分鍾數表示。系統執行該命令后會自動進行數據同步的工作。需要特別說明的是該命令只能由超級用戶使用。
該命令的一般格式: shutdown [選項] [時間] [警告信息]
命令中各選項的含義為:
- k 並不真正關機而只是發出警告信息給所有用戶
- r 關機后立即重新啟動
- h 關機后不重新啟動
- f 快速關機重啟動時跳過fsck
- n 快速關機不經過init 程序
- c 取消一個已經運行的shutdown
shutdown -h now 關閉系統
shutdown -h hours:minutes按預定時間關閉系統,若超過今天的時間戳,則隔天才會關機
shutdown -c 取消按預定時間關閉系統
shutdown -h +minutes 多少分鍾以后自動關機
shutdown -r +30 ‘The system will reboot’再過30分鍾系統會重啟,並顯示后面的信息給用戶
shutdown -k now ‘this system will reboot’僅發出警告信件參數,系統並不會關機
halt命令
halt是最簡單的關機命令,其實際上是調用shutdown -h命令。halt執行時,殺死應用進程,文件系統寫操作完成后就會停止內核。
單獨使用halt指令只是停止系統運行,但不關閉電源,還需要手動關閉電源。
若要關閉電源需要使用:
halt -p
reboot命令
reboot的工作過程與halt類似,其作用是重新啟動,reboot命令可以快速地關閉系統,但如果還有其它用戶在該系統上工作時,就會引起數據的丟失。所以使用reboot命令的場合主要是在單用戶模式。
init進程
init用於切換系統的運行級別,切換的工作是立即完成的。
init 0命令用於立即將系統運行級別切換為0,即關機;
init 6命令用於將系統運行級別切換為6,即重新啟動。
poweroff
停止系統運行,同時關閉電源。