終了コマンドを停止できますか?

終了コマンドを停止できますか?

コマンド(または同様のもの)を入力したと仮定するとshutdown -h now、マシンがシャットダウンするのを防ぐために実際に何ができますか(十分に速い場合)?

答え1

shutdown -cすでに実行されているシャットダウンをキャンセルするには、実行を実行できます。

答え2

速度が十分に速い場合は、init 2シャットダウンを停止できる実行レベル(または必要な実行レベル)を実行できます。コマンドが速すぎるため、shutdownコマンドの終了に関連するすべての操作は失敗します。

以下のスクリプトでこれを試しましたが、シャットダウンを停止するのに十分速くはありませんでした。

#!/bin/bash
shutdown -h now
shutdown -c "Aborting Shutdown"

Broadcast message from iain@iain-ubuntu
        (/dev/pts/0) at 16:50 ...

The system is going down for halt NOW!
shutdown: Cannot find pid of running shutdown

インタラクティブモード

shutdown -h now
init 2 

システムは引き続き実行中です。

答え3

FreeBSDのマニュアルページから:

計画された終了は、以下によって取り消すことができます。終了プロセスの終了(1つのSIGTERMで十分です)。

したがって、killall shutdown計画されたシャットダウン(例:)がある場合はshudown -h +5BSDで動作できます。

shutdown -h now実際のシナリオでは、すぐにclose()をキャンセルすることはできないと思います。

答え4

私は事故を起こしました。

終了 -h

プレゼントなし

「思慮深い」瞬間に、私は使用中のコマンドを見たいと思いました。いわゆる標準「-h」は、助けのために呼び出された。いいえ、終了のためではありません!

終了をキャンセルする-cオプションについては知りませんでしたが、パニック状態ですぐに発行されました。

すぐに閉じます -r

これは、以前に発行された「stop」を上書きして「restart」に置き換えるようです。

マシンが停止せずに再起動しました。幸いにも!

関連情報