如何停用關機以使重要程序不中斷?

如何停用關機以使重要程序不中斷?

當重要進程運行時禁用或暫時暫停重新啟動/關閉的最簡單方法是什麼?這個過程需要很長時間才能完成,並且無法暫停/恢復,因此我希望避免在電腦運行時關閉它。它是從 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

我想防止本地用戶在升級期間關閉筆記型電腦。禁用輸入設備是最好的​​方法。對我來說,停用滑鼠就足夠了,但也可以停用鍵盤。

當然有一個缺點,這段時間電腦不能用。

在 unix 上停用鍵盤和滑鼠輸入(在 X 下)

相關內容