一般的 Linux 系統如果要關機,通常都會使用 shutdown 這個指令,除此之外,halt 與 poweroff 這兩個指令也可以用來關機,這裡我們會介紹這些關機指令的使用方式,同時也會提供各種情況的關機範例給大家參考。
shutdown 指令
使用 shutdown 指令是一般 Linux 系統建議的關機方式,他會比較安全的讓系統正常關機,在使用 shutdown 指令關機時,所有登入系統中的使用者都會收到即將關機的警告訊息,而在關機的前五分鐘,也會禁止新的使用者登入。shutdown 指令的使用方法如下:
shutdown [OPTION] TIME [MESSAGE]其中 TIME 是指要關機的時間,其格式可分為好幾種:
- now:指定為目前的時間,有就是立即關機的意思,這個應該是最常會被用到。
- +m:指定多少分鐘之後關機,例如 +30 就是指 30 分鐘之後關機。
- hh:mm:指定某個時間點關機,時間的格式是使用 24 小時制的,例如 18:30 就是下午六點三十分關機。
在選項(OPTION)的部分,可用的選項有:
- -r:讓系統重新開機(reboot)。
- -h:讓系統停止運作(halt)或關閉電源(power off),至於會選擇哪一種則取決於系統(有時候可以在 BIOS 中更改)。
- -H:讓系統停止運作。
- -P:讓系統關閉電源。
- -c:取消之前所下達的關機指令。
- -k:模擬關機,只有對使用者發出警告,並禁止新使用者登入,但不關機。
接著我們來看一些常用的 shutdown 指令範例。因為關機的動作只有 root 管理者有權限可以執行,所以在使用時記得在 shutdown 指令前加上 sudo -s 或是使用 su - 變更為 root。
立即關機
這是最常用例子,大家應該也都是這樣用的。shutdown -h now也可以寫成這樣:
shutdown -h +0或是用更簡潔的寫法:
shutdown -h 0這些寫法都是一樣的。
指定時間關機
設定在當天的晚上 21:30 分關機。shutdown -h 21:30如果是使用 SSH 這類的遠端登入,要設定讓機器在某個時間關機,可以讓 shutdown 放在背景執行:
shutdown -h 21:30 &下完這行指令就可以直接登出,然後系統在時間到的時候就會自己關機。
關機並送出警告訊息給所有使用者
在十分鐘之後關機,並送出一段訊息給所有目前還在登入中的使用者:shutdown -h +10 "Development server is going down for maintenance. Please save your work ASAP."而使用者所看到的訊息會類似這樣:
Broadcast message from root@wks01 (pts/0) (Sat Apr 21 02:26:30 2012):
Development server is going down for maintenance. Please save your work ASAP.
The system is going DOWN for system halt in 10 minutes!
取消關機
假設我們之前已經設定好在某個時間自動關機,如果想要取消,就使用:shutdown -c
模擬關機
有時候我們沒有要真正關機,只是想嚇一嚇線上的使用者,或是在實際執行關機前,測試一下,可以搭配 -k 參數:shutdown -k 18:30這時候,系統只會送出關機的訊息,就像這樣:
Broadcast message from seal@steteo1看到這個訊息之後,就不會繼續執行關機了,你可以藉此測試一下自己下的指令有沒有問題。
(/dev/pts/0) at 16:50 ...
The system is going down for maintenance in 100 minutes!
重新開機
入要重新開機,則使用 -r 參數:shutdown -r now另外,亦可使用 reboot 這個指令,效果也是一樣的:
reboot
halt 與 poweroff 指令
halt 其實跟 shutdown 沒多大分別,只不過 shutdown 在關機時會把系統的服務都關閉之後,才關閉電腦,而 halt 指令則允許不管系統的狀態為何,直接停止電腦的運作,例如:halt -f
poweroff 指令也是類似的狀況,它也允許你不管系統的狀況,直接把電腦的電源切斷,例如:
poweroff -f
雖然系統有提供這樣的功能,但是其實這些功能在一般的狀況根本用不到,除非是系統真的當機,不然使用 shutdown 來關機會比較安全。
其他相關指令
這裡我們蒐集了一些跟 Linux 關機有關的指令範例。查詢關機與重新開機的紀錄
如果要查詢機器的關機紀錄,可以使用 last 指令:last -x shutdown輸出為
shutdown system down 3.8.0-26-generic Mon Oct 7 19:03 - 19:31 (00:27)而若要查詢重新開機的紀錄,方法也差不多:
shutdown system down 3.8.0-26-generic Mon Oct 7 16:07 - 19:00 (02:53)
shutdown system down 3.8.0-26-generic Mon Oct 7 11:59 - 14:53 (02:54)
last -x reboot輸出為
reboot system boot 3.8.0-26-generic Mon Oct 7 19:31 - 19:46 (00:15)
reboot system boot 3.8.0-26-generic Mon Oct 7 19:00 - 19:03 (00:02)
reboot system boot 3.8.0-26-generic Mon Oct 7 14:53 - 16:07 (01:13)
參考資料:nixCraft
沒有留言:
張貼留言