「CentOS Streamでサービスの状態を確認したいけど、何を使えばいいの?」
Linuxサーバー管理に欠かせないのが”サービス(デーモン)”の制御です。
CentOS Streamでは、systemdを採用しており、systemctl
コマンドでほぼすべてのサービス操作が可能です。
この記事では、CentOS Streamでよく使われるサービス管理コマンド一覧を紹介し、初心者でも確実に操作できるように解説します。
CentOS Streamでのサービスとは?

サービス(デーモン)の基本知識
サービス(デーモン)とは、バックグラウンドで常に動き続けるプログラムのことです。
例として、以下のようなものがあります:
- sshd:リモート接続を可能にするサービス
- httpd:Webサーバーとして動作するApacheサービス
- firewalld:ファイアウォール機能を提供するサービス
- mysqld:データベースサーバーとして動作するMySQLサービス
これらのサービスは、OSの起動時に自動で開始されたり、ユーザーが手動で操作したりできます。
systemctlコマンドの役割
CentOS Streamではsystemdが標準のサービス管理システムです。
従来のLinuxで使われていたservice
コマンドやchkconfig
コマンドに代わり、現在はsystemctl
コマンドですべてのサービス制御を行います。
systemctlコマンドの主な特徴:
- サービスの起動・停止・再起動が簡単
- 自動起動の設定・解除も一括管理
- サービスの詳細状態やログも確認可能
- 依存関係も自動で処理
systemctlの基本的な役割を理解したら、次は具体的なコマンドを見ていきましょう。
サービスの状態を確認するコマンド一覧

サーバー管理では、まず現在の状況を把握することが重要です。
以下のコマンドを使って、サービスの動作状況を確認できます。
コマンド | 説明 | 使用場面 |
---|---|---|
systemctl list-units --type=service | 現在実行中のサービスを一覧表示 | 動いているサービスを確認したい時 |
systemctl list-unit-files --type=service | すべてのサービスと起動設定を一覧表示 | 自動起動の設定状況を把握したい時 |
systemctl status <サービス名> | 特定サービスの詳細状態を確認 | 問題があるサービスを詳しく調べたい時 |
systemctl is-active <サービス名> | 現在アクティブかを判定 | スクリプトで状態をチェックしたい時 |
systemctl is-enabled <サービス名> | 自動起動設定されているかを確認 | 起動時の動作を確認したい時 |
実際の使用例
SSHサービスの詳細状態を確認する場合:
systemctl status sshd
このコマンドを実行すると、以下のような情報が表示されます:
- サービスの現在状態(active、inactive、failed など)
- プロセスID(PID)
- メモリ使用量
- 最近のログメッセージ
実行中のWebサーバー関連サービスを探す場合:
systemctl list-units --type=service | grep -i web
サービスの操作コマンド一覧
サービスの状態確認ができたら、次は実際にサービスを操作してみましょう。以下のコマンドが基本的な操作です。
操作内容 | コマンド例 | 注意点 |
---|---|---|
サービス起動 | sudo systemctl start nginx | 管理者権限が必要 |
サービス停止 | sudo systemctl stop nginx | 接続中のユーザーに影響あり |
サービス再起動 | sudo systemctl restart nginx | 設定変更後によく使用 |
設定の再読み込み | sudo systemctl reload nginx | サービスを止めずに設定を反映 |
自動起動を有効 | sudo systemctl enable nginx | 次回起動時から自動で開始 |
自動起動を無効 | sudo systemctl disable nginx | 手動起動が必要になる |
便利な組み合わせコマンド
自動起動を有効にしながら、すぐにサービスを開始する場合:
sudo systemctl enable --now nginx
現在有効になっている(自動起動設定の)サービス一覧を確認:
systemctl list-unit-files --type=service | grep enabled
特定のキーワードでサービスを検索:
systemctl list-units --type=service | grep http
実践的な使用例
Webサーバー(Apache)をセットアップする典型的な流れ:
# 1. サービスを起動
sudo systemctl start httpd
# 2. 状態を確認
systemctl status httpd
# 3. 自動起動を有効化
sudo systemctl enable httpd
# 4. 設定変更後の再起動
sudo systemctl restart httpd
基本操作をマスターしたら、次はトラブル時に役立つテクニックを学びましょう。
トラブル対処と応用テクニック

よくあるエラーとその対策
サービスが起動しない場合
まずはエラーログを確認しましょう:
journalctl -xe
特定のサービスのログだけを確認したい場合:
journalctl -u nginx -n 20
「Unit file not found」エラーが出る場合
システムにサービス定義を再読み込みさせます:
sudo systemctl daemon-reload
権限エラーが発生する場合
ほとんどのサービス操作には管理者権限が必要です。sudo
を忘れずに付けましょう:
sudo systemctl start サービス名
応用テクニック
サービスの依存関係を確認
あるサービスが他のどのサービスに依存しているかを確認:
systemctl list-dependencies nginx
失敗したサービスだけを一覧表示
systemctl list-units --type=service --state=failed
サービスの設定ファイル場所を確認
systemctl show nginx -p FragmentPath
カスタムサービスの作成
独自のアプリケーションをサービス化したい場合、/etc/systemd/system/
ディレクトリに.service
ファイルを作成します:
sudo nano /etc/systemd/system/myapp.service
パフォーマンス監視
サービスのリソース使用状況を確認:
systemctl show nginx -p CPUUsageNSec,MemoryCurrent
まとめ
CentOS Streamでのサービス管理は、以下のコマンドを覚えることで効率的に行えます:
状態確認の基本コマンド
systemctl status
– 詳細状態の確認systemctl list-units --type=service
– 実行中サービス一覧systemctl is-active
– アクティブ状態の確認
操作の基本コマンド
systemctl start/stop/restart
– サービスの開始・停止・再起動systemctl enable/disable
– 自動起動の設定・解除systemctl reload
– 設定の再読み込み
トラブル時の対応
journalctl -xe
– エラーログの確認systemctl daemon-reload
– システム定義の再読み込み
コメント