【3分でわかる】Linuxのシャットダウンと再起動

linuxシャットダウン
  • このエントリーをはてなブックマークに追加
  • Pocket

このページではLinuxのシャットダウンと再起動の方法をお伝えする。

3分でわかるように、コマンドや仕組みも含めてご紹介するので参考にしてほしい。

Linuxのシャットダウンと再起動

シャットダウン

シャットダウンとはシステムを終了させ、電源オフの状態にすることだ。ご存知の通りLinuxに限らない。

現代のコンピュータシステムは複雑になっており、正しい手順で終了しなければならない。もし急に電源をオフ(電源ボタンを5秒間押すなど)するとシステムファイルの破損や、ハードウェアの故障が起きる場合がある。

そこで、「シャットダウン」をする。

  • 具体的には作業中のファイルを終了させ
  • メモリの内容をディスクに同期
  • ネットワークおよび周辺機器の切断

などのもろもろの処理をしてから、電源をオフにする。

もし停電などで突然電源が落ちるなど、異常終了した場合起動時にファイルシステムのチェックなどがかかる。

再起動

これもシステムに関係なく普遍的な概念だ。

システムの異常で突如再起動する場合も含まれるが、基本的にはシャットダウンの手順を踏んだあとに、自動的に起動するようにすることを再起動という。

昔は新しいソフトウェアをインストールするときに再起動していたが、最近はカーネル(Linuxのコア部分)に関しての更新がない限り、再起動する必要はほとんどない。

再起動するとメモリの中身がクリアされるので、「困ったときの再起動」は今でも有効だ。

シャットダウンコマンド

shutdownはシステムを安全に終了させるためのコマンドだ。

ログインしている全てのユーザにシステムが終了する旨が通知することも可能であり、即時シャットダウン開始もできる。

まずは次のコマンドをそのまま覚えてしまおう。

# shutdown -h now

今すぐにシャットダウンするためのコマンドだ。rootユーザになって、このコマンドを叩けばシャットダウンされる。

もう少し詳しく

シャットダウンコマンドは次のように色々なオプションなどと一緒に使える。

$ shutdown [ -t sec ] [-arkhcfF ] time [ message ] [now]

-a /etc/shutdown.allow を使う。
-t sec 警告シグナルを送ってからシャットダウンするまえに sec 秒間待つ。
-k 実際にはシャットダウンを行なわない。 ログイン中のユーザ全員へのメッセージ送付のみを行なう
-r 再起動する。
-h   シャットダウン後システムを停止する。
-n [使うべきでない] initにシャットダウンを依頼するのではなく、 自力でシャットダウンを行う。 このオプションの使用はなるべく避けること。 望んだ結果が得られるとは限らない。
-f  リブート時に fsck を行なわない。
-F 

リブート時に必ず fsck を行なう。

-c  現在実行中のシャットダウンをキャンセルする。 当然ながら、このオプションと同時に time を指定することはできない。  しかし、コマンドラインから説明用のメッセージを入力し、 ログイン中の全てのユーザに送る事はできる。
 time いつシャットダウンするか。
now   -rもしくは-hと組み合わせた場合即時shutdownを実行する。

これらを組み合わせてやるが、とりあえずshutdown -h now さえ覚えておけば事足りる場合が多い。

再起動コマンド

# shutdown -r now

もしくは

# reboot

で再起動ができる。基本的にはこちらもrootユーザのみでできると思ってほしい。誰でも再起動できたら大変だ。

rebootで十分なので、さらっと再起動したいときは、rebootコマンドを発行すれば適切に再起動してくれる。

もう少し詳しく

shutdownコマンドについては上でお伝えしたので、rebootコマンドについて少し紹介しておく。

# reboot  [-n] [-w] [-d] [-f] [-i]

オプションについて

-n 再起動または停止する前に sync しない。
-w 実際には再起動または停止せずに、 wtmpレコード (/var/log/wtmp ファイル) への記録のみを行う。
-d wtmpレコードへの記録を行わない。 -n オプションを指定した場合は、 自動的に -d オプションも付けられる。
-f  shutdownを起動せず、強制的に halt または reboot する。
-i  停止または再起動する直前に 全てのネットワークインターフェースを切断する。
-h 停止または再起動する直前にシステムのすべてのハードディスクを standby モードにする。
-p  システムを停止する時に、電源を切る。

実際にやってみよう

シャットダウン

コンソールの場合

一般的なシャットダウンをしたい場合スーバーユーザ権限でshutdownコマンドを実行する。

$ su

# shutdown -h now

とすればよい。

デスクトップ環境の場合

右上の電源マークをクリック出てくるアイコンで同じく電源マークをクリックする。 

shutdown gui

下記のような画面になるので「電源オフ」をクリックする。

shutdown gui

コンピュータの再起動

コンソールの場合

一般的な再起動をおこなう場合スーパーユーザ権限でshutdown -r now もしくはrebootコマンドを実行する。

$ su

# shutdown -r now

もしくは

# reboot

とすればよい。

デスクトップ環境の場合

コンピュータの終了と基本的に変わらない。 

下記の画面で「再起動」を選択すると再起動される

shutdown gui

runlevel(ランレベル)

Linuxにはrunlevelというものが存在する。最後に軽くご紹介しておこう。

runlevelは0から6が存在する。Redhat系つまりCentOSなどは以下のようになっている。

  • 0 システム停止
  • 1 シングルユーザモード
  • 2 未使用
  • 3 マルチユーザモード(CUI)
  • 4 未使用
  • 5 マルチユーザモード(GUI)
  • 6 再起動

shutdownコマンドは、init プロセスにシグナルを送り、 ランレベルの変更を依頼することによって、システムを終了させる。

ランレベル 0 はシステムを停止するためにつかわれるshutdown -h now など。 ランレベル 6 はシステムをリブートするために用いられる。shutdown -r now や reboot など。

CentOS7以降はinitではなく、systemdというシステムに変わっているが、一応にこの概念は存在する。

ランレベルに関しては別ページで詳しく解説するので、ここではそういう信号を送っているというのを知っておけば十分だ。

まとめ

このページではLinuxのシャットダウンと再起動についてお伝えした。

何度も使うコマンドなので、必ず覚えてしまおう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*