telinit を使って 30 分でシステムをシャットダウンする

telinit を使って 30 分でシステムをシャットダウンする

telinit を使用して 30 分以内にシステムをシャットダウンしたい場合、どうすればよいでしょうか。シャットダウンを使用する方が簡単であることはわかっていますが、単に知っておくためだけに。

答え1

使用at:

at now + 30 minutes <<<'telinit 0'

または を使用しますsleep 30m; telinit 0

telinit単独ではこれを行うことはできません。他のツールを組み合わせて使用​​する必要があります。atおよびsleepの両方で操作をキャンセルできます ( atrmforatおよびCtrlCfor other を使用)。

答え2

# telinit 0

ランレベル 0 は停止モードです。init にランレベル 0 に入るように指示すると、すべてのプロセスが強制終了され、ファイルシステムがアンマウントされ、マシンが停止します。これは、システムを停止する完全に許容できる方法です。多くのラップトップや最新のデスクトップ コンピューターでは、これによりマシンの電源もオフになります。ソース


再起動について疑問に思う人のために追加情報:

# telinit 6

ランレベル 6 は再起動モードです。すべてのプロセスが終了し、ファイルシステムがアンマウントされ、マシンが再起動されます。これはシステムを再起動するための完全に許容可能な方法です。ソース


将来何かを実行するには、「at」コマンドを使用します。次のようになります。

# at now+30 minutes <<<'telinit 0'

または眠る:

# sleep 1800 && telinit 0

(1800秒)

答え3

提案として、あなたの質問に直接答えるわけではありません。atコマンドはデフォルトではインストールされておらず、 sleeptelinitは素晴らしい選択肢です。telinit、試してみるといいでしょうリブート:

echo reboot | at now +30 m

関連情報