:::

Linux重開機卡在「Waiting for process...」,怎麼辦? / Linux Reboot Hangs At "Waiting for process..."

11月 03, 2023 , , 0 Comments Edit Copy Download

2023-0922-152942.png

可以改用「sudo systemctl reboot -ff」指令重開機。


Linux伺服器 / Linux Server

 20230922_150533.jpg

這個問題出在我用來安裝Home Assistant的開發板伺服器上。我用的是Orange Pi 3 LTS, 作業系統是基於Ubuntu的Orange Pi 3.0.8 Jammy with Linux 5.16.17-sun50iw6。

重關機問題 / Problem at Reboot

通常重開機的時候,我的指令會這樣下:

sudo reboot

2023-0922-151147.png

結果關機之前會卡在這個錯誤畫面,顯示錯誤訊息「systemd-shutdown[1]: Waiting for process: grep, lscpu」。接下來只能手動關掉電源再開啟。

https://askubuntu.com/questions/1250959/ubuntu-20-04-shutdown-reboot-hangs-at-waiting-for-process-crond-and-amdgpu-pr

https://askubuntu.com/questions/1250959/ubuntu-20-04-shutdown-reboot-hangs-at-waiting-for-process-crond-and-amdgpu-pr

網路上能找到的相關資訊大部分都是在處理「Waiting for process: crond」的錯誤。解決方法是修正cron排程中有錯誤的地方即可。

不過我不是卡在crond,而是卡在grep跟lscpu。找了老半天,並沒有找到什麼有效的解決方法,怎麼辦好呢?

強制重新啟動 / Force Reboot

https://askubuntu.com/a/1189919

https://askubuntu.com/a/1189919 

那既然如此,最直接的方法,就是強制重新啟動吧。指令如下:

sudo systemctl reboot -ff

https://manpages.debian.org/stretch/systemd/systemctl.1.en.html

https://manpages.debian.org/stretch/systemd/systemctl.1.en.html 

這個指令中的「-ff」是兩次「--force --force」的意思。systemctl的說明如下:

If --force is specified twice for these operations (with the exception of kexec), they will be executed immediately, without terminating any processes or unmounting any file systems.
如果--force被指定兩次,該指令會立刻被執行,略過結束程式或是卸載檔案系統的過程。

實際實行之後,伺服器會立刻重開機,這樣就能略過卡在「systemd-shutdown[1]: Waiting for process: grep, lscpu」的問題。

不過在真的執行「sudo systemctl reboot -ff」之前,還是先把該關的程序關一關、該卸載的檔案系統通通umount,這樣才比較讓人安心吧。


最後的問題是,你都是怎麽關電腦的呢?

  • 1. 用圖形化介面關機。點那個「關機」就好了啊?問題這麼多幹嘛。
  • 2. 用指令關機。我都用遠端管理伺服器,所以用指令關機比較方便。
  • 3. 拔掉電源關機。開發板當然是拔電源啦,第一次用嗎?
  • 4. 其他,在下面留言分享喔!