在 linux 系統下一些常用的關機/重啟命令有 shutdown、halt、reboot以及init,他們都可以達到重啟系統的目的,但每個命令的內部工作過程不同。
shutdown 命令安全地將系統關機,在系統關機前使用 shutdown 命令,系統管理員會通知所有登入的使用者系統將要關閉,並且 login 指令會被凍結,即新的使用者不能再登入。直接關機或是延時一段時間關機都是可以的,也可以進行重啟。
shutdown 執行的工作是送訊號給 init 程式,要求它改變 runlevel。 runlevel 0 被用來停機, runlevel 6 用來程式啟用系統。 而 runlevel 1 則是被用來讓系統進入管理工作可以進行的狀態。 如果想要了解在停機或重新開機過程中做了哪些動作,可以在 /etc/inittab 裡看到關於這些 runlevel 的 資訊。
-t 在改變到其它 runlevel 之前,告訴 init 多久以後關機
-r 重啟計算機
-k 並不是真正關機,只是送警告訊號給每位登陸者
-h 關機後關閉電源
-n 不用 init,而是自己來關機
-c 取消目前正在執行的關機程式
-f 在重啟計算機時忽略 fsck
-f 在重啟計算機時強迫 fsck
-time 設關機前的時間
halt 就是呼叫 shutdown -h。 halt 執行時,會殺死應用程序,執行 sync 系統呼叫,檔案系統寫操作完成後就會停止核心,與 reboot 不同之處在於 halt 用來關機,而 reboot 用來重啟系統。
reboot 命令用來重啟系統,用法比較簡單,在終端命令列以 root 使用者執行該命令即可進行系統的重啟。
reboot 命令常用引數如下:
-n 在重啟之前不執行磁碟重新整理
-w 做一次重啟模擬,並不會真的重新啟動
-d 不把記錄寫到 /var/log/wtmp 檔案裡( -n 引數包含了 -d)
-f 強制重開機
-i 在重開機之前先把所有網路相關的裝置停止
[hk@localhost ~]$ which poweroff
/usr/sbin/poweroff
[hk@localhost ~]$ ls -l /sbin/poweroff
lrwxrwxrwx. 1 root root 16 nov 14 21:00 /sbin/poweroff -> ../bin/systemctl
[hk@localhost ~]$ ls -lhtr /sbin/halt
lrwxrwxrwx. 1 root root 16 nov 14 21:00 /sbin/halt -> ../bin/systemctl
[hk@localhost ~]$
init 是所有程序的祖先,其程序號始終為 1 ,所以傳送 term 訊號給 init 會終止所有的使用者程序、守護程序等。 shutdown 使用的就是這種機制。
init 定義了 7 個執行級別,每個執行級別定義如下:
0 停機
1 單使用者模式
2 多使用者
3 完全多使用者模式
4 沒有用到
5 x11(x window)
6 重新啟動
這些級別在 /etc/inittab 裡指定。這個檔案是 init 程式尋找的主要檔案,最先執行的服務是放在 /etc/rc.d 目錄下的檔案。 在大多數的linux發行版中,啟動指令碼都是位於 /etc/rc.d/init.d 中的。這些指令碼被用 ln 命令鏈結到 /etc/rc.d/rcn.d 目錄,這裡的 n 就是執行級別 0 -6.因此使用 init 命令可以關機或重新啟動。 Linux關機命令
linux關機命令 1.shutdown shutdown 命令安全地將系統關機。有些使用者會使用直接斷掉電源的方式來關閉 linux 這是十分危險的。因為 linux 與windows 不同,其後台執行著許多程序,所以強制關機可能會導致程序的資料丟失 使系統處於不穩定的狀態 甚至在有的系統中會損壞...
Linux關機命令
在 linux 下一些常用的關機 重啟命令有 shutdown halt reboot 及init 它們都 可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,通過本文的介紹,希 望你可以更加靈活的運用各種關機命令。1.shutdown shutdown 命令安全地將系統關機。有些使用者會使用...
linux關機命令
資料同步寫入磁碟 sync 在 linux 系統中,為了加快資料的讀取速度,所以,預設的情況中,某些資料將不會直接被寫入硬碟,而是先暫存在記憶體當中,如此一來,如果乙個資料被你重複的改寫,那麼由於他尚未被寫入硬碟中,因此可以直接由記憶體當中讀取出來,在速度上一定是快上相當多的!不過,如此一來也造成些...