重要なプロセスの実行中に再起動/終了を無効にするか、一時的に中断する最も簡単な方法は何ですか?プロセスの完了に時間がかかり、一時停止/再開する方法がないため、コンピュータの実行中は終了しないことをお勧めします。 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
アップグレードプロセス中にローカルユーザーがラップトップを終了しないようにしたいと思います。入力デバイスを無効にするのが最善の方法です。私にはマウスを無効にするだけで十分でしたが、キーボードも無効にすることができます。
もちろん、この間にコンピュータを使用できないという欠点があります。