
如果我多次安排關閉,會出現什麼行為?例如:
shutdown +20
shutdown +25
第二個關閉指令是否會覆蓋第一個關閉指令?
另外,如果我使用 shutdown -c 取消關閉會怎麼樣?例如
shutdown +20
shutdown +25
shutdown -c
它將取消所有關閉計劃還是僅取消最後一個計劃?
答案1
如果您使用的是系統:
有一個集中管理的關閉計時器(由系統登入服務)。嘗試多次安排關閉只會自動取消並用新參數取代逾時和操作。
shutdown +XX
呼叫 systemd-logind 的 ScheduleShutdown(),它設定或調整計時器。shutdown -c
呼叫 systemd-logind 的 CancelScheduledShutdown(),這會停用計時器。
如果您正在使用關閉來自 Linux sysvinit 的命令:
程式使用 pid 檔案來確保只能安排一次關閉。如果您嘗試運行它兩次,您應該收到訊息“shutdown:已經運行”。 (除非您不小心刪除了它用來追蹤事物的 pid 檔案。)
shutdown +XX
如果發現某個進程已在背景執行(根據 /var/run/shutdown.pid 中儲存的 PID),則拒絕啟動新的「排隊關閉」進程。shutdown -c
假設您不應該啟動多個進程,則恰好殺死一個「排隊關閉」進程(其 PID 是從 shutdown.pid 讀取的)。