CentOS6で使えたプロセス管理の「service」コマンドがCentOS7では使えなくなり、代わりに「systemctl」コマンドになりました。プロセスの起動、停止、再起動などCentOS6と7とでプロセス管理コマンドの比較をしてみました。なお、CetOS7ではsystemdデーモンが各プロセスを管理する際にユニット、ターゲットという括りで管理していて、httpdやsshdなどのプロセスはserviceユニットとして管理されています。言い回しも「プロセス管理」ではなく「サービス制御」と言われているようですので、それにあわせて記載します。以下のプロセス名とサービス名は言い方は違いますが同じ意味と捉えてください。
httpdやsshdのことを、
CentOS6の場合はプロセスと、ここでは呼ぶ。
CentOS7の場合はサービスと、ここでは呼ぶ。
起動、停止、再起動など
■CentOS6の場合
# service プロセス名 start(起動)
# service プロセス名 stop(停止)
# service プロセス名 restart(再起動)
# service プロセス名 reload(リロード)
# service プロセス名 status(状態の確認)
■CentOS7の場合
# systemctl start サービス名(起動)
# systemctl stop サービス名(停止)
# systemctl restart サービス名(再起動)
# systemctl reload サービス名(リロード)
# systemctl is-active サービス名(状態の確認)
# systemctl status サービス名(状態の確認)
※CentOS7の場合、状態の確認にis-activeとstatusの2種類があるがstatusのほうがより詳細な情報が表示される。
自動起動の確認、設定、解除
■CentOS6の場合
# chkconfig --list(自動起動の確認)
# chkconfig プロセス名 on(自動起動の設定)
# chkconfig プロセス名 off(自動起動の解除)
■CentOS7の場合
# systemctl list-unit-files(自動起動の確認)
# systemctl enable サービス名(自動起動の設定)
# systemctl disable サービス名(自動起動の解除)
ランレベル確認、変更
■CentOS6の場合
ランレベルの確認は「/etc/inittab」ファイルを開いて「id:○:initdefault:」を見て確認します。○のところにランレベルが記載されています。「id:3:initdefault:」となっていればランレベルは「3」となります。
ランレベルの変更は「/etc/inittab」ファイルの○の部分を書き換えてください。
■CentOS7の場合
# systemctl get-default(ランレベルの確認)
# systemctl set-default ターゲット名(ランレベルの設定)
CentOS7の場合、ランレベルの変更は「systemctl」コマンドで実施できます。ランレベルとターゲットの対比は以下となります。
ランレベル | ターゲット名 | 別名 |
0 | poweroff.target | runlevel0.target |
1 | rescue.target | runlevel1.target |
2 | multi-user.target | runlevel2.target |
3 | multi-user.target | runlevel3.target |
4 | multi-user.target | runlevel4.target |
5 | graphical.target | runlevel5.target |
6 | reboot.target | runlevel6.target |
これらの設定は次回起動時から有効になります。
なお、即時でランレベルの変更するにはCentOS6では「init」コマンドを使用、CentOS7では「isolate」オプションを使用します。
# init ランレベル(CentOS6の場合)
# systemctl isolate ターゲット名(CentOS7の場合)
ubuntuのプロセス制御
CentOSについてプロセスの起動、停止、再起動やランレベルの変更方法を書いてみましたが、ubuntuの場合も書いておこうと思います。ubuntu 18.04 LTSの場合ですが「service」コマンドや「chkconfig」コマンドは使えません。代わりに「systemctl」が使用できますのでCentOS7と同様の方法でプロセスの起動、停止、再起動やランレベルの変更が行なえます。「man systemctl」で詳細が見られますので確認してみてください。
※systemctlを含めCentOS7についての詳細本。