重要なプロセスが中断されないようにシャットダウンを無効にする方法は?

重要なプロセスが中断されないようにシャットダウンを無効にする方法は?

重要なプロセスの実行中に再起動/終了を無効にするか、一時的に中断する最も簡単な方法は何ですか?プロセスの完了に時間がかかり、一時停止/再開する方法がないため、コンピュータの実行中は終了しないことをお勧めします。 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'.

おすすめ記事