
如果我想用 telinit 在 30 分鐘內關閉系統,我該怎麼做?我知道關閉更容易,但只是為了了解它。
答案1
使用at
:
at now + 30 minutes <<<'telinit 0'
或使用sleep 30m; telinit 0
.
telinit
本身無法做到這一點。您將必須結合使用其他工具。at
兩者sleep
都允許您取消操作(使用atrm
forat
和CtrlCfor other)。
答案2
# telinit 0
運行等級 0 是暫停模式。告訴 init 進入運行等級 0 將導致所有程序被終止、檔案系統被卸載以及機器被停止。這是一種完全可以接受的關閉系統的方法。在許多筆記型電腦和現代桌上型電腦上,這也會導致機器關閉。來源
如果有人想知道是否要重新啟動,請額外提供:
# telinit 6
運行等級 6 是重新引導模式。所有進程都將被終止,檔案系統將被卸載,並且機器將重新啟動。這是一種完全可以接受的重新啟動系統的方法。來源
為了將來執行某些操作,我們有“at”命令。那將是:
# at now+30 minutes <<<'telinit 0'
或睡覺:
# sleep 1800 && telinit 0
(1800 秒)
答案3
作為建議,不直接回答您的問題。預設甚至at
不安裝命令, sleep
使用 telinit 是一個很好的選擇:如果您想嘗試除特利尼特,你可以嘗試重啟和在:
echo reboot | at now +30 m