关机相关(shutdown,reboot)

慣用的關機指令: shutdown

由於Linux的關機是那麼重要的工作,因此除了你是在主機前面以tty7圖形介面來登入系統時, 不論用什麼身份都能夠關機之外,若你是使用遠端管理工具(如透過pietty使用ssh服務來從其他電腦登入主機), 那關機就只有root有權力而已喔!

嗯!那麼就來關機試試看吧!我們較常使用的是shutdown這個指令,而這個指令會通知系統內的各個程序 (processes),並且將通知系統中的run-level內的一些服務來關閉。shutdown可以達成如下的工作:

  • 可以自由選擇關機模式:是要關機、重新開機或進入單人操作模式均可;
  • 可以設定關機時間: 可以設定成現在立刻關機, 也可以設定某一個特定的時間才關機。
  • 可以自訂關機訊息:在關機之前,可以將自己設定的訊息傳送給線上 user 。
  • 可以僅發出警告訊息:有時有可能你要進行一些測試,而不想讓其他的使用者干擾, 或者是明白的告訴使用者某段時間要注意一下!這個時候可以使用 shutdown 來嚇一嚇使用者,但卻不是真的要關機啦!
  • 可以選擇是否要 fsck 檢查檔案系統 。

那麼shutdown的語法是如何呢?聰明的讀者大概已經開始找『男人』了!沒錯,隨時隨地的 man 一下,是很不錯的舉動!好了,簡單的語法規則為:

[root@www ~]# /sbin/shutdown [-t 秒] [-arkhncfF] 時間 [警告訊息]
選項與參數:
-t sec : -t 後面加秒數,亦即『過幾秒後關機』的意思
-k     : 不要真的關機,只是發送警告訊息出去!
-r     : 在將系統的服務停掉之後就重新開機(常用)
-h     : 將系統的服務停掉後,立即關機。 (常用)
-n     : 不經過 init 程序,直接以 shutdown 的功能來關機
-f     : 關機並開機之後,強制略過 fsck 的磁碟檢查
-F     : 系統重新開機之後,強制進行 fsck 的磁碟檢查
-c     : 取消已經在進行的 shutdown 指令內容。
時間   : 這是一定要加入的參數!指定系統關機的時間!時間的範例底下會說明。
範例:
[root@www ~]# /sbin/shutdown -h 10 'I will shutdown after 10 mins'
# 告訴大家,這部機器會在十分鐘後關機!並且會顯示在目前登入者的螢幕前方!
# 至於參數有哪些呢?以下介紹幾個吧!

此外,需要注意的是,時間參數請務必加入指令中,否則shutdown會自動跳到 run-level 1 (就是單人維護的登入情況),這樣就傷腦筋了!底下提供幾個時間參數的例子吧:

[root@www ~]# shutdown -h now
立刻關機,其中 now 相當於時間為 0 的狀態
[root@www ~]# shutdown -h 20:25
系統在今天的 20:25 分會關機,若在21:25才下達此指令,則隔天才關機
[root@www ~]# shutdown -h +10
系統再過十分鐘後自動關機
[root@www ~]# shutdown -r now
系統立刻重新開機
[root@www ~]# shutdown -r +30 'The system will reboot' 
再過三十分鐘系統會重新開機,並顯示後面的訊息給所有在線上的使用者
[root@www ~]# shutdown -k now 'This system will reboot' 
僅發出警告信件的參數!系統並不會關機啦!嚇唬人!
重新開機,關機: reboot, halt, poweroff

還有三個指令可以進行重新開機與關機的任務,那就是reboot, halt, poweroff。 其實這三個指令呼叫的函式庫都差不多,所以當你使用『man reboot』時,會同時出現三個指令的用法給你看呢。 其實鳥哥通常都只有記shutdown與reboot這兩個指令啦!不過使用poweroff這個指令卻比較簡單就是了!^_^ 通常鳥哥在重新開機時,都會下達如下的指令喔:

[root@www ~]# sync; sync; sync; reboot

既然這些指令都能夠關機或重新開機,那他有沒有什麼差異啊?基本上,在預設的情況下, 這幾個指令都會完成一樣的工作!(因為halt會先呼叫shutdown,而shutdown最後會呼叫halt!)。 不過,shutdown可以依據目前已啟動的服務來逐次關閉各服務後才關機;至於halt卻能夠在不理會目前系統狀況下, 進行硬體關機的特殊功能!你可以在你的主機上面使用root進行底下兩個指令來關機,比較看看差異在哪裡喔!

[root@www ~]# shutdown -h now
[root@www ~]# poweroff -f

更多halt與poweroff的選項功能,請務必使用man去查詢一下喔!

 

 

切換執行等級: init

本章上頭有談到過關於run level的問題。之前談到的是系統運作的模式,分為純文字(run level 3)及圖形介面模式(run level 5)。除了這兩種模式外,有沒有其他模式呢?其實Linux共有七種執行等級, 七種等級的意義我們在後面會再談到。本章你只要知道底下四種執行等級就好了:

  • run level 0:關機
  • run level 3:純文字模式
  • run level 5:含有圖形介面模式
  • run level 6:重新開機

那如何切換各模式呢?可以使用init這個指令來處理喔!也就是說,如果你想要關機的話, 除了上述的shutdown -h now以及poweroff之外,你也可以使用如下的指令來關機:

[root@www ~]# init 0

原文:http://linux.vbird.org/



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值