Linux中的關機命令淺析
時間:2019-10-23 來源:濟南中心,陳老師
我們在使用linux虛擬機時,不能像windows一樣的直接關機,這樣關機不利于linux虛擬機的再次使用,且可能會導致有些文件的丟失,以至于虛擬機系統出錯,不能使用等情況。在linux當中,常用關機命令如下:
關機命令:
1、halt 立刻關機
2、poweroff 立刻關機
3、shutdown -h now 立刻關機(root用戶使用)
4、shutdown -h 20 20分鐘后自動關機
重啟命令:
1、reboot 立刻重啟
(下面為root用戶使用的重啟命令)
2、shutdown -r now 立刻重啟
3、shutdown -r 20 20分鐘自動重啟
4、shutdown -r 21:10 在時間為21:10的時候重啟
注:通過shutdown命令設置的關機,可用shutdown -c命令取消重啟

關機命令淺析:
1.shutdown為安全關機命令(推薦使用)
shutdown是通關參數-h或-r配合來完成關機或重啟。不過在linux中只有擁有root權限才可使用該命令,即使用該命令需要先獲取root權限。linux虛擬機不可以使用直接切掉電源的方式進行關機,主要是由于它的后臺運行著許多進程,強制關機會導致進程的數據丟失使系統處于不穩定的狀態,甚至損壞有些系統中的硬件設備。在系統關機前使用shutdown命令,系統管理員將通知所有登錄用戶系統將進行關閉,將login(登錄)指令凍結,同時所有的進程(process)都會收到信號。shutdown執行的關機或開機命令,是送信號給init,要求init改變運行級別,關機或重啟實際上是運行級別的調整。因此,我們也可以用init直接調整運行級別(runlevel)來實現開關機。
注:init是所有進程的父進程(祖先),進程號始終為 1,所以發送term信號給init會終止所有的進程。其定義了8個運行級別,init 0為關機,init 1 為重啟。
2.用halt命令來關機時,實際上調用 的是 shutdown -h。其執行時將殺死應用進程,執行sync系統調用文件系統寫操作,當寫操作完成后就會停止內核。poweroff常用的關機命令,和halt的用法差不多。
3.reboot重啟命令是引發主句重啟,它的工作過程和halt關機過程差不多。

