從終端關閉和重啟 Linux 系統
簡介
在本文中,我們將討論如何從終端關閉和重啟 Linux 系統。從命令列關閉和重啟系統的能力在各種情況下都很有用,例如當 GUI **不可用**時或透過 Linux shell 指令碼自動化任務時。
概述
Linux 是一個相當健壯的作業系統,因此,很少需要重新引導 Linux 伺服器。但是,有時有一些原因需要重啟系統。
例如,如果我們在個人電腦上執行 Linux,重啟和關閉系統可能是日常操作。
重啟或關閉系統
各種命令可以重啟或關閉系統,例如 shutdown、restart、shutdown 和 shutdown。由於重啟或關閉系統將**終止所有正在執行的程序**,因此您必須擁有**root 或 sudo 許可權**才能執行此類命令。
大多數現代 Linux 發行版都已採用“systemd”作為其系統和服務管理器。在**systemd 管理**的系統上,“systemctl”集中控制系統重啟和關閉。
例如,讓我們看看在**Ubuntu**系統上的這些命令:
$ file /sbin/{halt,poweroff,reboot,shutdown} /sbin/halt: symbolic link to /bin/systemctl /sbin/poweroff: symbolic link to /bin/systemctl /sbin/reboot: symbolic link to /bin/systemctl /sbin/shutdown: symbolic link to /bin/systemctl
瞭解到所有這些命令都連結到同一個命令:“systemctl”可能有點令人驚訝。這是因為“systemctl”程式使用一種技術來根據其執行方式更改其行為。
shutdown 命令
我們可以使用 shutdown 命令安全地重啟或關閉 Linux 系統。使用 shutdown 命令的語法很簡單:
$ shutdown [OPTIONS...] [TIME] [MESSAGE]
常用選項
現在讓我們看看 shutdown 命令支援的常用選項。我們可以傳遞“**-r**”選項來重啟系統,而不是關閉機器:
# shutdown -r Shutdown scheduled for Thur 2022-01-19 11:56:50 IST, use 'shutdown -c' to cancel.
“**-H**”選項告訴 shutdown 命令**停止**系統:
# shutdown -H Shutdown scheduled for Thur 2022-01-19 11:56:50 IST, use 'shutdown -c' to cancel.
計劃關機操作
有時我們不想在一分鐘內關閉或重啟系統。相反,我們可以在特定時間安排關機操作。shutdown 命令支援兩種不同的時間格式進行計劃:
絕對時間 - **HH:mm**
相對時間 - **+NumberOfMinutes**
例如,我們可以安排在**上午 8:08**重啟系統:
# shutdown -r 08:08 Shutdown scheduled for Thur 2022-01-19 08:00:00 IST, use 'shutdown -c' to cancel.
讓我們看另一個示例,我們在**30**分鐘後安排系統關閉:
# shutdown +30 Shutdown scheduled for Thur 2022-01-19 12:36:55 IST, use 'shutdown -c' to CEST, use 'shutdown -c' to cancel.
如果我們想立即關閉系統,我們可以使用“**+0**”或一個方便的別名“**now**”:
# shutdown now
由於 Linux 是一個**多使用者**作業系統,我們可能希望向所有當前登入的使用者廣播有關計劃的關閉或重啟的訊息:
# shutdown -r +45 "Attention: This system will restart in 45 minutes!" Shutdown scheduled for Thur 2022-01-19 12:48:39 IST:...
取消計劃的關機
在上面的示例中,我們已計劃重啟或關閉操作。但是,有時我們可能希望**取消計劃的操作**。例如,如果錯誤地計劃了重啟或關閉,或者在計劃的重啟之前需要安裝關鍵更新。在這種情況下,我們可以使用“**shutdown -c**”命令取消計劃的操作。
# shutdown -c
此命令將**取消**任何計劃的重啟或關閉操作,並顯示一條確認取消的訊息。
結論
總之,我們可以使用帶有不同選項和時間引數的“**shutdown**”命令來計劃 Linux 系統的關閉或重啟。“**halt**”和“**poweroff**”命令也可分別用於停止或關閉系統。但是,務必謹慎使用這些命令,因為如果操作不當,可能會導致資料丟失。還需要注意的是,大多數現代 Linux 發行版都使用“**systemd**”作為其系統和服務管理器,並且所有關機命令都與同一個“**systemctl**”命令繫結。瞭解這些命令的行為以及可與其一起使用的開關,可以幫助我們更有效地控制 Linux 系統的關閉和重啟過程。