正文

重啟linux服務器命令服務 linux查看正在運行的進程命令

5424

在 Linux 管理員的日程當中,有很多需要執(zhí)行的任務,其中就有系統(tǒng)的重啟和關閉。

對于 Linux 管理員來說,重啟和關閉系統(tǒng)是其諸多風險操作中的一例,有時候,由于某些原因,這些操作可能無法挽回,他們需要更多的時間來排查問題。

在 Linux 命令行模式下我們可以執(zhí)行這些任務。很多時候,由于熟悉命令行,Linux 管理員更傾向于在命令行下完成這些任務。

重啟和關閉系統(tǒng)的 Linux 命令并不多,用戶需要根據(jù)需要,選擇合適的命令來完成任務。

以下所有命令都有其自身特點,并允許被 Linux 管理員使用.

建議閱讀:

  • 查看系統(tǒng)/服務器正常運行時間的 11 個方法

  • Tuptime 一款為 Linux 系統(tǒng)保存歷史記錄、統(tǒng)計運行時間工具

系統(tǒng)重啟和關閉之始,會通知所有已登錄的用戶和進程。當然,如果使用了時間參數(shù),系統(tǒng)將拒絕新的用戶登入。

執(zhí)行此類操作之前,我建議您堅持復查,因為您只能得到很少的提示來確保這一切順利。

下面陳列了一些步驟:

  • 確保您擁有一個可以處理故障的控制臺,以防之后可能會發(fā)生的問題。 VMWare 可以訪問虛擬機,而 IPMI、iLO 和 iDRAC 可以訪問物理服務器。

  • 您需要通過公司的流程,申請修改或故障的執(zhí)行權直到得到許可。

  • 為安全著想,備份重要的配置文件,并保存到其他服務器上.

  • 驗證日志文件(提前檢查)

  • 和相關團隊交流,比如數(shù)據(jù)庫管理團隊,應用團隊等。

  • 通知數(shù)據(jù)庫和應用服務人員關閉服務,并得到確定答復。

  • 使用適當?shù)拿顝捅P操作,驗證工作。

  • 最后,重啟系統(tǒng)。

  • 驗證日志文件,如果一切順利,執(zhí)行下一步操作,如果發(fā)現(xiàn)任何問題,對癥排查。

  • 無論是回退版本還是運行程序,通知相關團隊提出申請。

  • 對操作做適當守候,并將預期的一切正常的反饋給團隊

使用下列命令執(zhí)行這項任務。

  • shutdown、halt、poweroff、reboot 命令:用來停機、重啟或切斷電源

  • init 命令:是 “initialization” 的簡稱,是系統(tǒng)啟動的第一個進程。

  • systemctl 命令:systemd 是 Linux 系統(tǒng)和服務器的管理程序。

方案 1:如何使用 shutdown 命令關閉和重啟 Linux 系統(tǒng)

shutdown 命令用于斷電或重啟本地和遠程的 Linux 機器。它為高效完成作業(yè)提供多個選項。如果使用了時間參數(shù),系統(tǒng)關閉的 5 分鐘之前,會創(chuàng)建 /run/nologin 文件,以確保后續(xù)的登錄會被拒絕。

通用語法如下:

# shutdown [OPTION] [TIME] [MESSAGE]

運行下面的命令來立即關閉 Linux 機器。它會立刻殺死所有進程,并關閉系統(tǒng)。

# shutdown -h now

  • -h:如果不特指 -halt 選項,這等價于 -poweroff 選項。

另外我們可以使用帶有 -halt 選項的 shutdown 命令來立即關閉設備。

# shutdown –halt now

或者

# shutdown -H now

  • -H, –halt:停止設備運行

另外我們可以使用帶有 poweroff 選項的 shutdown 命令來立即關閉設備。

# shutdown –poweroff now

或者

# shutdown -P now

  • -P, –poweroff:切斷電源(默認)。

如果您沒有使用時間選項運行下面的命令,它將會在一分鐘后執(zhí)行給出的命令。

# shutdown -h

Shutdown scheduled for Mon 2018-10-08 06:42:31 EDT, use ‘shutdown -c’ to cancel.

root@2daygeek.com#

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:31 EDT):

The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!

其他的登錄用戶都能在中斷中看到如下的廣播消息:

[daygeek@2daygeek.com ~]$

Broadcast message from root@2daygeek.com (Mon 2018-10-08 06:41:31 EDT):

The system is going down for power-off at Mon 2018-10-08 06:42:31 EDT!

對于使用了 -halt 選項:

# shutdown -H

Shutdown scheduled for Mon 2018-10-08 06:37:53 EDT, use ‘shutdown -c’ to cancel.

root@2daygeek.com#

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:36:53 EDT):

The system is going down for system halt at Mon 2018-10-08 06:37:53 EDT!

對于使用了 -poweroff 選項:

# shutdown -P

Shutdown scheduled for Mon 2018-10-08 06:40:07 EDT, use ‘shutdown -c’ to cancel.

root@2daygeek.com#

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:07 EDT):

The system is going down for power-off at Mon 2018-10-08 06:40:07 EDT!

可以在您的終端上敲擊 shutdown -c 選項取消操作。

# shutdown -c

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:39:09 EDT):

The system shutdown has been cancelled at Mon 2018-10-08 06:40:09 EDT!

其他的登錄用戶都能在中斷中看到如下的廣播消息:

[daygeek@2daygeek.com ~]$

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 06:41:35 EDT):

The system shutdown has been cancelled at Mon 2018-10-08 06:42:35 EDT!

添加時間參數(shù),如果你想在 N 秒之后執(zhí)行關閉或重啟操作。這里,您可以為所有登錄用戶添加自定義廣播消息。例如,我們將在五分鐘后重啟設備。

# shutdown -r +5 “To activate the latest Kernel”

Shutdown scheduled for Mon 2018-10-08 07:13:16 EDT, use ‘shutdown -c’ to cancel.

[root@vps138235 ~]#

Broadcast message from root@vps.2daygeek.com (Mon 2018-10-08 07:08:16 EDT):

To activate the latest Kernel

The system is going down for reboot at Mon 2018-10-08 07:13:16 EDT!

運行下面的命令立即重啟 Linux 機器。它會立即殺死所有進程并且重新啟動系統(tǒng)。

# shutdown -r now

  • -r, –reboot: 重啟設備。

方案 2:如何通過 reboot 命令關閉和重啟 Linux 系統(tǒng)

reboot 命令用于關閉和重啟本地或遠程設備。reboot 命令擁有兩個實用的選項。

它能夠優(yōu)雅的關閉和重啟設備(就好像在系統(tǒng)菜單中惦記重啟選項一樣簡單)。

執(zhí)行不帶任何參數(shù)的 reboot 命令來重啟 Linux 機器。

# reboot

執(zhí)行帶 -p 參數(shù)的 reboot 命令來關閉 Linux 機器電源。

# reboot -p

  • -p, –poweroff:調用 halt 或 poweroff 命令,切斷設備電源。

執(zhí)行帶 -f 參數(shù)的 reboot 命令來強制重啟 Linux 設備(這類似按壓機器上的電源鍵)。

# reboot -f

  • -f, –force:立刻強制中斷,切斷電源或重啟。

方案 3:如何通過 init 命令關閉和重啟 Linux 系統(tǒng)

init(“initialization” 的簡寫)是系統(tǒng)啟動的第一個進程。

它將會檢查 /etc/inittab 文件并決定 linux 運行級別。同時,允許用戶在 Linux 設備上執(zhí)行關機或重啟操作. 這里存在從 0 到 6 的七個運行等級。

建議閱讀:

  • 如何檢查 Linux 上所有運行的服務

執(zhí)行以下 init 命令關閉系統(tǒng)。

# init 0

  • 0: 停機 – 關閉系統(tǒng)。

運行下面的 init 命令重啟設備:

# init 6

  • 6:重啟 – 重啟設備。

方案 4:如何通過 halt 命令關閉和重啟 Linux 系統(tǒng)

halt 命令用來切斷電源或關閉遠程 Linux 機器或本地主機。 中斷所有進程并關閉 cpu。

# halt

方案 5:如何通過 poweroff 命令關閉和重啟 Linux 系統(tǒng)

poweroff 命令用來切斷電源或關閉遠程 Linux 機器或本地主機。 poweroff 很像 halt,但是它可以關閉設備硬件(燈和其他 PC 上的其它東西)。它會給主板發(fā)送 ACPI 指令,然后信號發(fā)送到電源,切斷電源。

# poweroff

方案 6:如何通過 systemctl 命令關閉和重啟 Linux 系統(tǒng)

systemd 是一款適用于所有主流 Linux 發(fā)型版的全新 init 系統(tǒng)和系統(tǒng)管理器,而不是傳統(tǒng)的 SysV init 系統(tǒng)。

systemd 兼容與 SysV 和 LSB 初始化腳本。它能夠替代 SysV init 系統(tǒng)。systemd 是內核啟動的第一個進程,并持有序號為 1 的進程 PID。

建議閱讀:

  • chkservice – 一款終端下系統(tǒng)單元管理工具

它是一切進程的父進程,F(xiàn)edora 15 是第一個適配安裝 systemd (替代了 upstart)的發(fā)行版。

systemctl 是命令行下管理 systemd 守護進程和服務的主要工具(如 start、restart、stop、enable、disable、reload & status)。

systemd 使用 .service 文件而不是 SysV init 使用的 bash 腳本。 systemd 將所有守護進程歸與自身的 Linux cgroups 用戶組下,您可以瀏覽 /cgroup/systemd 文件查看該系統(tǒng)層次等級。

# systemctl halt

# systemctl poweroff

# systemctl reboot

# systemctl suspend

# systemctl hibernate