Ubuntuを使っていると、こんな場面に出くわすことがあります:
- 「Apacheが動いていない、手動で起動したい」
- 「設定を変更したので、サービスを再起動したい」
- 「そもそも何のサービスが起動しているのか分からない」
そんなときに使えるのが、systemctl
(システムシーティーエル)コマンドを使ったサービス操作です。
この記事では、Ubuntuでのサービスの起動・停止・再起動・状態確認など、基本的な操作方法を中心に分かりやすく紹介します!
Ubuntuのサービス管理はsystemd(systemctl)で行う

Ubuntu 15.04以降では、systemd(システムディー)という仕組みが使われています。
そのため、サービスの制御にはsystemctl
コマンドを使用します。
古いUbuntuではservice
コマンドも使えますが、現在はsystemctl
が標準です。
基本:サービスの操作コマンド一覧
やりたいこと | コマンド | 使用例 |
---|---|---|
サービスを起動する | sudo systemctl start サービス名 | sudo systemctl start apache2 |
サービスを止める | sudo systemctl stop サービス名 | sudo systemctl stop nginx |
サービスを再起動する | sudo systemctl restart サービス名 | sudo systemctl restart ssh |
サービスの状態を見る | systemctl status サービス名 | systemctl status mysql |
自動起動をオンにする | sudo systemctl enable サービス名 | sudo systemctl enable apache2 |
自動起動をオフにする | sudo systemctl disable サービス名 | sudo systemctl disable cups |
自動起動がオンか確認する | systemctl is-enabled サービス名 | systemctl is-enabled ssh |
例:Apache(Webサーバー)を操作する場合
# Apacheを起動する
sudo systemctl start apache2
# Apacheを止める
sudo systemctl stop apache2
# Apacheを再起動する
sudo systemctl restart apache2
# Apacheの状態を確認する
systemctl status apache2
# パソコン起動時にApacheを自動起動する
sudo systemctl enable apache2
# 自動起動をやめる
sudo systemctl disable apache2
✅ ポイント:apache2
はサービス名です。他のサービスでは名前が変わります(後で説明します)。
サービス名の調べ方:まずは一覧表示!
現在動いているサービスを見る
systemctl list-units --type=service
すべてのサービスと設定状態を見る
systemctl list-unit-files --type=service
このコマンドで、どんなサービスがあるかと、自動起動がオンかオフかが分かります。
状態の意味(systemctl statusの見方)
systemctl status apache2
を実行すると、こんな表示が出ます:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Fri 2025-05-24 09:00:00 JST; 1h ago
状態の意味
状態 | 意味 |
---|---|
active (running) | 正常に動いている |
inactive | 止まっている |
failed | 起動に失敗した |
activating | 起動している最中 |
deactivating | 停止している最中 |
よく使うサービス名と用途
サービス名 | 何に使う? |
---|---|
apache2 | Apache Webサーバー |
nginx | Nginx Webサーバー |
ssh | リモート接続(SSH) |
mysql / mariadb | データベース |
ufw | ファイアウォール(セキュリティ) |
cups | プリンター |
NetworkManager | ネットワーク管理 |
大切なポイント:必ずsystemctl status
で状態を確認してから操作しましょう!
古いserviceコマンドとの違い
# 古い書き方(まだ動くけど推奨されない)
sudo service apache2 start
# 新しい書き方(こちらを使おう)
sudo systemctl start apache2
今後はsystemctl
を使う習慣をつけるのがおすすめです。
トラブル時のヒント

サービスが起動できない・すぐ止まってしまう
journalctl -xe
このコマンドで、systemdの詳しいログが見られます。エラーの原因が分かることが多いです。
特定のサービスのログだけ見たい
journalctl -u apache2
-u
の後にサービス名を書くと、そのサービスのログだけが表示されます。
設定ファイルを変更した後
設定ファイルを変更したときは、以下の順番で作業しましょう:
- 設定ファイルの文法チェック(サービスによって方法が違う)
sudo systemctl restart サービス名
で再起動systemctl status サービス名
で正常起動を確認
まとめ:Ubuntuのサービス操作はsystemctlがカギ!
Ubuntuでのサービス操作は、systemctlコマンドを使いこなすことで、自由自在に制御できます。トラブル時の原因を調べたり、セキュリティ対策として不要なサービスを止めたりするのにも役立ちます。
覚えておきたい基本コマンド
やりたいこと | コマンド例 |
---|---|
サービスを起動 | sudo systemctl start サービス名 |
サービスを停止 | sudo systemctl stop サービス名 |
サービスを再起動 | sudo systemctl restart サービス名 |
状態を確認 | systemctl status サービス名 |
自動起動の設定 | enable やdisable を使う |
ログを確認 | journalctl -xe |
操作の流れ
- まず状態確認:
systemctl status サービス名
- 必要に応じて操作:start/stop/restart
- 結果を確認:もう一度
systemctl status
でチェック
コメント