3.4. 電源の切り方(シャットダウン)いろいろ

Linuxは一般にサーバとして用いられることが多いため、電源を切るということはあまりありません(その代わりにログアウトします)。しかし、システムに重大な変更を加えた、あるいはWindows等の異なるOSとデュアルブートさせる環境の場合は、電源を切る(シャットダウン)場合や再起動(リブート)することがあります。ここでは正しい電源の切り方について確認しておきましょう。

Linuxはマルチユーザ(複数のユーザが一つの環境を共有すること)のOSなので、自分以外にもログインしているユーザがいる可能性があります。そこでwまたはwhoというコマンドを用いて、現在どのユーザがログインしているのかを調べる事ができます。wは「who is login and what they are doing?」の略です。

このコマンドは、ユーザが開いているコンソールを一人としてカウントしています。

$ w

22:03:22 up 1 day,  7:10,  4 users,  load average: 0.39, 0.32, 0.31

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

SL6 pts/0    192.168.2.122    Mon14    1.00s  0.63s  0.00s w

SL6 pts/1    192.168.2.122    22:02   35.00s  0.05s  0.05s -bash

SL6 pts/2    192.168.2.122    22:03   22.00s  0.04s  0.04s -bash

SL6 pts/3    192.168.2.122    22:03    9.00s  0.03s  0.03s -bash

そのためコンソールウィンドウを複数開いていると、このように同じ人が何人もログインしているように見える場合もあります。シャットダウン、リブートを行う際には、事前にこのコマンドで利用者がいないか確認して下さい。

システムを終了させるためのコマンドはshutdownコマンドです。このコマンドは管理者でないと実行できません。またshutdownコマンドは、管理者用のコマンドが配置されているディレクトリ“/sbin”にありますので、場所を明示して実行しないとうまくいかない場合があります。直ちにシャットダウンする場合は、次のように実行します。

# /sbin/shutdown -h now

“-h”を“-r”とした場合は、シャットダウンではなくリブート(再起動)になります。ところで、自分以外にも利用者がいた場合、いきなりシステムを終了させると、そのユーザの作業中のデータが消失してしまう可能性があります。そういった場合には、shutdownコマンドの引数(上記の例の“now”の部位)に「何分後にシャットダウン処理を開始するのか」を指定することができます。

# /sbin/shutdown –h 10 ←10分後にシャットダウン処理を開始

また、shutdownコマンドには代用コマンドがあります。

  • halt  “shutdown -h now”と同値です。
  • reboot “shutdown -r now”と同値です。

という2つです。shutdownコマンドで時間指定する必要がない場合には、こちらを利用するとよいでしょう。

なお、ディレクトリビューションによっては、ログアウト処理の際に選択肢としてユーザレベルでのシャットダウンを提供している場合もあります。