カテゴリ: Linux 更新日: 2026/04/09

systemctl statusの使い方を徹底解説!Linuxサービスの状態確認を初心者向けに紹介

Linuxでサービスの状態を確認する方法
Linuxでサービスの状態を確認する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxを使っていると『サービス』という言葉をよく聞くのですが、今そのサービスがちゃんと動いているのか調べるにはどうすればいいですか?」

先生

「Linuxでは『systemctl status』というコマンドを使うことで、サービスの状態を詳しく確認できますよ。」

生徒

「システムの状態を見るなんて、なんだか難しそうで怖いイメージがあります。私のような初心者でも、壊さずに確認できますか?」

先生

「もちろんです!状態を確認するだけならシステムに影響はありません。まずは基本の読み方からゆっくり見ていきましょう。」

1. Linuxの「サービス」と「systemd」とは?

1. Linuxの「サービス」と「systemd」とは?
1. Linuxの「サービス」と「systemd」とは?

Linuxを操作していると、裏側でずっと動いているプログラムがあります。たとえば、ウェブサイトを表示するためのプログラムや、外部から接続を受け付けるためのプログラムなどです。これらをLinuxでは「サービス」と呼びます。

Windowsでいうところの「バックグラウンドプロセス」や、家電で例えるなら「電源が入っていていつでも使える待機状態の機能」のようなものです。自分から目に見える形で操作していなくても、パソコンが起動している間、裏で一生懸命働いてくれています。

そして、これらのサービスを一括して管理・監督しているリーダーのような仕組みを「systemd(システムディー)」といいます。現代のLinux(UbuntuやCentOS、Debianなど)の多くは、このsystemdがサービスたちの司令塔になっています。このリーダーに対して「あのサービスは今どうなってる?」と尋ねるための道具が、今回紹介するsystemctl(システムコントロール)コマンドなのです。

2. サービスの状態を確認する基本コマンド

2. サービスの状態を確認する基本コマンド
2. サービスの状態を確認する基本コマンド

まずは、特定のサービスが現在動いているかどうかを確認する、最も基本的で重要なコマンドを紹介します。パソコン初心者の方がまず覚えるべき魔法の言葉です。

書き方は非常にシンプルです。systemctl statusの後に、調べたいサービスの名前を入力するだけです。


systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2026-01-09 10:00:00 JST; 5h 30min ago
   Main PID: 1234 (sshd)
      Tasks: 1 (limit: 4915)
     Memory: 5.0M
     CPU: 100ms
     CGroup: /system.slice/ssh.service
             └─1234 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

このコマンドを実行すると、画面に英語が並びますが、すべてを理解する必要はありません。まずは一番大事な「Active」という行に注目してください。ここがactive (running)となっていれば、そのサービスは元気に動いているということです。

3. 画面に表示される情報の見方(専門用語の解説)

3. 画面に表示される情報の見方(専門用語の解説)
3. 画面に表示される情報の見方(専門用語の解説)

コマンドの結果に出てきた難しい用語を、わかりやすく噛み砕いて説明します。これを理解しておくと、トラブルが起きたときでも「どこを見ればいいか」がわかります。

  • Loaded(ローデッド): そのサービスの設定ファイルが正しく読み込まれているかを示します。また、その後ろにあるenabledは「パソコンを起動したときに自動でこのサービスを開始するかどうか」という設定のことです。
  • Active(アクティブ): 現在の状態です。緑色の文字で表示されることが多いです。ここがinactive (dead)となっている場合は、サービスが停止していることを意味します。
  • Main PID(メインピーアイディー): PIDとは「プロセスID」の略で、Linuxがそのプログラムに割り振った背番号のようなものです。管理のために数字が振られています。
  • Since(シンス): そのサービスがいつから動き始めたかという、開始時刻が表示されます。

初心者の方は、まず「Activeのところが緑色かどうか」を確認する習慣をつけましょう。それだけで、問題の半分以上は把握できるようになります。

4. 全てのサービスを一覧で表示する方法

4. 全てのサービスを一覧で表示する方法
4. 全てのサービスを一覧で表示する方法

特定の名前がわからなくても、今自分のコンピュータでどんなサービスが管理されているかをまとめて見たいときがあります。そんなときは、以下のコマンドを使います。


systemctl list-units --type=service
  UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
  accounts-daemon.service            loaded active running Accounts Service
  dbus.service                       loaded active running D-Bus System Message Bus
  getty@tty1.service                 loaded active running Getty on tty1
  networkd-dispatcher.service        loaded active running Dispatcher daemon for systemd-networkd
  systemd-journald.service           loaded active running Journal Service

これを実行すると、ずらっとサービスがリストアップされます。表形式になっていて、左側がサービス名、右側がその説明です。キーボードの矢印キーで上下にスクロールでき、確認が終わったらアルファベットの「q」を押すと、元の黒い画面(コマンド入力画面)に戻ることができます。この「qで終了する」という操作はLinuxでよく使うので、覚えておくと便利ですよ。

5. サービスが動いていない時の表示と対策

5. サービスが動いていない時の表示と対策
5. サービスが動いていない時の表示と対策

もしサービスが止まっている場合、画面にはどのように表示されるのでしょうか。あえて停止しているサービスを確認した例を見てみましょう。


systemctl status apache2
○ apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://httpd.apache.org/docs/2.4/

このように、丸印が白抜きになり、inactive (dead)と表示されます。これは「活動していない(死んでいる)」という意味ですが、壊れているわけではなく、単に「お休み中」の状態です。もしこれを動かしたい場合は、管理者権限という強い力を使って起動命令を出す必要があります。管理者権限を使うときは、コマンドの先頭にsudo(スードゥー)をつけます。


sudo systemctl start apache2
(何も表示されなければ成功です)

Linuxの世界では、成功したときは何も言わずに黙って実行されるのが一般的です。動き出したか不安なときは、もう一度最初のstatusコマンドで確認してみましょう。

6. 失敗の原因を探る!ログの確認方法

6. 失敗の原因を探る!ログの確認方法
6. 失敗の原因を探る!ログの確認方法

サービスがうまく動かないとき、その理由を教えてくれるのが「ログ」です。ログとは、プログラムが記録した「日記」や「作業記録」のようなものです。systemctl statusコマンドを実行すると、実は画面の下の方に最新のログも数行表示されています。

もし、もっと長い記録をしっかり読みたい場合は、journalctl(ジャーナルコントロール)という別のコマンドを組み合わせて使います。


journalctl -u ssh.service -n 20
-- Logs begin at Wed 2026-01-01 00:00:00 JST, end at Fri 2026-01-09 15:00:00 JST. --
Jan 09 10:00:00 localhost systemd[1]: Started OpenBSD Secure Shell server.
Jan 09 12:30:00 localhost sshd[1234]: Accepted password for user from 192.168.1.1

ここで使った-uはサービスを指定するためのもので、-n 20は「最新の20行だけ見せて」というお願いです。エラーが起きているときは、ここに赤い文字で「Error」や「Failed」といった単語が出てくるので、それを手がかりにネットで検索すると解決策が見つかりやすくなります。

7. 実行中のサービスだけを絞り込むテクニック

7. 実行中のサービスだけを絞り込むテクニック
7. 実行中のサービスだけを絞り込むテクニック

パソコンの中には何百ものサービスがありますが、その中から「今まさに元気に動いているもの」だけを抜き出したいときは、フィルタリングを行います。Linuxにはgrep(グレップ)という、特定の文字が含まれる行だけを抜き出す便利な道具があります。


systemctl list-units --type=service --state=running
  UNIT                     LOAD   ACTIVE SUB     DESCRIPTION
  cron.service             loaded active running Regular background program processing daemon
  rsyslog.service          loaded active running System Logging Service
  udev.service             loaded active running Device Statistics Daemon

このように、オプション(コマンドにつける付け足しの命令)を使うことで、自分の知りたい情報だけを効率よく取り出すことができます。初心者の方は、まずは基本のstatusを使いこなし、慣れてきたらこうした絞り込みにも挑戦してみましょう。Linuxの操作は、こうしたコマンドの組み合わせでどんどん便利になっていきます。

8. サービスの自動起動設定を確認する

8. サービスの自動起動設定を確認する
8. サービスの自動起動設定を確認する

最後に、そのサービスが「パソコンをつけたときに勝手に始まる設定になっているか」を確認する方法です。これはis-enabledというコマンドを使います。


systemctl is-enabled ssh
enabled

結果がenabledなら自動起動が有効、disabledなら無効という意味です。「設定したはずなのに、再起動したら動いていない!」というときは、ここがどうなっているか確認するのが定石です。サービスの状態確認は、単に「今」を見るだけでなく、このように「未来」の設定を見ることも含まれます。

これら一連の確認作業をマスターすれば、Linuxシステムの管理能力はぐんと向上します。最初は黒い画面に抵抗があるかもしれませんが、自分の命令でコンピュータの状態が明らかになる感覚を、ぜひ楽しんでみてください。

カテゴリの一覧へ
新着記事
New1
Linux ディストリビューション
Linuxディストリビューションとは?初心者でもわかる意味と種類を徹底解説
New2
Linux 基礎概要
Linuxは何に使われている?サーバー・PC・クラウドでの用途を初心者向けに完全解説
New3
Linux 基礎概要
Linuxとは何のOS?WindowsやmacOSとの違いを初心者向けに説明
New4
Route 53(DNS サービス)
AWS Route 53のフェイルオーバールーティング設定手順を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.3
Java&Spring記事人気No3
プロセス・ジョブ管理
LinuxのプロセスID(PID)とは?仕組みと管理方法を初心者向けに徹底解説
No.4
Java&Spring記事人気No4
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.6
Java&Spring記事人気No6
AWS 基本
AWSのサービスのステータス確認方法(AWS Health Dashboard)
No.7
Java&Spring記事人気No7
ELB(ロードバランサー)
AWS ELBの料金体系とコスト最適化の考え方を初心者向けに徹底解説!
No.8
Java&Spring記事人気No8
ELB(ロードバランサー)
AWSのApplication Load Balancer(ALB)の仕組みと構成方法を徹底解説!初心者向けロードバランサー入門