systemctl – systemd のサービスやシステムを管理するコマンド

サービス管理
スポンサーリンク

systemctl コマンドは、systemd によるサービス、ユニット、システム全体の状態を管理 するコマンドです。
サービスの起動・停止、再起動、ステータス確認、ブート時の自動起動設定など、Linux システム管理の中心的な役割を担います。

構文(Syntax)

systemctl [オプション] コマンド [ユニット]

主なオプション / サブコマンド一覧

サブコマンド説明使用例
startサービスを開始sudo systemctl start nginx
stopサービスを停止sudo systemctl stop nginx
restartサービスを再起動sudo systemctl restart nginx
reload設定ファイルを再読み込み(プロセス再起動せず)sudo systemctl reload nginx
statusサービスの状態を確認systemctl status nginx
enableサービスを自動起動に設定sudo systemctl enable nginx
disable自動起動を無効化sudo systemctl disable nginx
is-enabled自動起動の有効/無効を確認systemctl is-enabled nginx
list-units現在有効なユニットを表示systemctl list-units
list-unit-filesインストールされているユニットファイル一覧systemctl list-unit-files
daemon-reloadユニットファイルの変更を systemd に再読み込みsudo systemctl daemon-reload
poweroffシステムをシャットダウンsudo systemctl poweroff
rebootシステムを再起動sudo systemctl reboot
suspendサスペンド(スリープ)sudo systemctl suspend
hibernateハイバネートsudo systemctl hibernate

実行例

サービスを起動

sudo systemctl start ssh

サービスを停止

sudo systemctl stop ssh

サービスを再起動

sudo systemctl restart ssh

サービスの状態を確認

systemctl status ssh

出力例:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2025-08-21 13:10:12 JST; 5min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 1023 (sshd)
      Tasks: 1 (limit: 4567)
     Memory: 3.1M
        CPU: 20ms
     CGroup: /system.slice/ssh.service
             └─1023 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

自動起動を有効化

sudo systemctl enable nginx

自動起動を無効化

sudo systemctl disable nginx

ユニットファイル一覧を確認

systemctl list-unit-files --type=service

システムを再起動

sudo systemctl reboot

エラー例(存在しないサービス)

systemctl status hogeservice

出力例:

Unit hogeservice.service could not be found.

関連コマンド

  • journalctl : systemd のログを表示
  • service : 旧 SysVinit スタイルのサービス管理(systemctl へ内部的に転送されることが多い)
  • shutdown : システムの停止・再起動

備考

  • systemctlsystemd 採用ディストリビューション(Ubuntu, Debian, CentOS, Fedora, Arch Linux など)で利用可能です。
  • SysVinit 系(古い UNIX/Linux)では systemctl は使えず、代わりに service/etc/init.d/ スクリプトを使用します。
  • ユニットには service のほか、socket, target, mount などさまざまな種類があります。
  • daemon-reload はユニットファイルを編集した後に必ず実行する必要があります。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント