當重要進程運行時禁用或暫時暫停重新啟動/關閉的最簡單方法是什麼?這個過程需要很長時間才能完成,並且無法暫停/恢復,因此我希望避免在電腦運行時關閉它。它是從 cron 運行的,因此除非我手動檢查正在運行的進程,否則我不會知道它正在運行。謝謝。
答案1
對於使用 systemd 的較新系統,這個問題已通過 解決systemd-inhibit
。使用範例:
systemd-inhibit --why="Doing weekly backup" bash my-backups.sh
然後,如果使用者嘗試關閉,除非強制,否則將不允許關閉。
❯ systemctl poweroff
Operation inhibited by "bash my-backups.sh" (PID 2414 "systemd-inhibit", user ntrrgc),
reason is "Doing weekly backup".
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.
答案2
運行which shutdown
看看關機程序的路徑在哪裡。您可以重命名該文件,但我建議不要這樣做。
另一種(更安全的)方法。使用別名:alias shutdown=' '
這樣的事情比較可逆。如果您試圖阻止所有使用者關閉,請全域新增別名。
答案3
在關鍵任務伺服器中停用「shutdown/reboot/poweroff/halt/hostname」之類的命令
chmod 0 /sbin/shutdown
然後如果您需要使用它,請將其 chmod 回chmod 0755
.
答案4
我想防止本地用戶在升級期間關閉筆記型電腦。禁用輸入設備是最好的方法。對我來說,停用滑鼠就足夠了,但也可以停用鍵盤。
當然有一個缺點,這段時間電腦不能用。