現在のLinuxディストリビューションのほとんどは、systemdと呼ばれるシステム管理を担うソフトウェア群を使ってシステム管理を行っており、サービスの管理ではsystemctlコマンドを利用します。
systemctlコマンドを使えば、サービスの有効化/無効化、サービスの起動/停止、再起動、システム起動時に自動実行するなどといったサービスの管理ができます。
そこでここではRedHat系のAlmaLinuxを例に、systemctlコマンドの基本的な使い方を解説します。
目次
systemctlコマンドの使用例
サービスの自動起動
システムの起動時にサービスも自動的に起動させたいときは、以下のようにコマンドを実行します。
# systemctl enable サービス名
自動起動の有効化とサービス開始を同時に実施
システムの起動時にサービスも自動的に起動させるよう設定し、同時にサービスも開始させたいときは、以下のようにコマンドを実行します。
# systemctl enable --now サービス名
自動起動設定の確認
対象のサービスが自動起動するよう設定されているか確認したいときは、以下のようにコマンドを実行します。
# systemctl is-enabled サービス名
自動起動するよう設定されていれば「enabled」と返ってきます。
自動起動の無効化
自動的起動設定を解除するときは、以下のようにコマンドを実行します。
# systemctl disable サービス名
サービスの起動
サービスを起動するときは、以下のようにコマンドを実行します。
# systemctl start サービス名
サービスの再起動
サービスを再起動するときは、以下のようにコマンドを実行します。
# systemctl restart サービス名
サービスの停止
サービスを停止させるときは、以下のようにコマンドを実行します。
# systemctl stop サービス名
サービスの強制終了
サービスを強制終了するときは、以下のようにコマンドを実行します。
# systemctl kill サービス名
設定の再読み込み
実行しているプログラムの設定ファイルの変更を反映させるときは、サービスを再起動する以外に以下のようにコマンドを実行する方法もあります。
# systemctl reload サービス名
サービス設定ファイルの再読み込み
サービスの設定などが記述されたユニットファイルの変更を反映させるときは、以下のようにコマンドを実行します。
# systemctl daemon-reload
サービスが実行中かどうかを確認
サービスが実行中かどうかを確認するときは、以下のようにコマンドを実行します。
# systemctl is-active サービス名
サービスが実行中であれば「active」と返ってきます。
サービスの状態を確認
サービスが実行中かどうかといった状態だけでなく、サービスの設定、リソースの使用状況、プロセスID、サービス開始時のログを確認するときは、以下のようにコマンドを実行します。
# systemctl status サービス名
サービスの詳細情報を確認
サービスの詳細情報(プロパティ情報)を確認するときは、以下のようにコマンドを実行します。
# systemctl show サービス名
実行中サービスの一覧を表示
現在実行中のサービスを一覧表示するときは、以下のようにコマンドを実行します。
# systemctl list-units --type=service
定義されているサービスの一覧を表示
定義されているサービスを一覧表示するときは、以下のようにコマンドを実行します。
# systemctl list-unit-files --type=service
あとがき
ここで紹介しているコマンドがすべてではありませんが、まずはここで紹介しているコマンドを使いこなせれば、基本的なサービス管理で困ることはないでしょう。