
telinit を使用して 30 分以内にシステムをシャットダウンしたい場合、どうすればよいでしょうか。シャットダウンを使用する方が簡単であることはわかっていますが、単に知っておくためだけに。
答え1
使用at
:
at now + 30 minutes <<<'telinit 0'
または を使用しますsleep 30m; telinit 0
。
telinit
単独ではこれを行うことはできません。他のツールを組み合わせて使用する必要があります。at
およびsleep
の両方で操作をキャンセルできます ( atrm
forat
および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
コマンドはデフォルトではインストールされておらず、 sleep
telinitは素晴らしい選択肢です。telinit、試してみるといいでしょうリブートとで:
echo reboot | at now +30 m