【システムコントロール】

systemctl とは?

最終更新:
💡 Linuxサービスの総合リモコン

systemdのシステム・サービス管理機能を操作するコマンド。サービスなどのユニットの起動・停止・状態確認や、起動時などに有効になる設定を扱う。systemdを使う環境が対象。

📌 このページのポイント
今の稼働状態と、有効化は別 現在の動作 start:起動 stop:停止 restart:再起動 statusで確認 有効化の設定 enable:有効化 disable:解除 単独では今すぐ 起動・停止しない systemdで管理するユニットが対象 enable --now は有効化+今すぐ起動 active ≠ アプリ全体が正常
systemctlでsystemdの管理機能を操作する。enabledとactiveは別の状態で、起動方法はユニットの設定にもよる。
ひよこ ひよこ
サービスを起動するには?
ペンギン先生 ペンギン先生
systemdで管理されているnginx.serviceがある環境なら、systemctl start nginx.service のように指定するよ。stopは停止、restartは停止してから起動する操作。実行には対象に応じた権限が必要だね。
ひよこ ひよこ
enableすれば、すぐ起動する?
ペンギン先生 ペンギン先生
enableはユニットの設定に従って、起動時などに呼び出されるよう有効化する操作。その場では起動しないよ。今すぐの起動も必要ならstartを別に実行するか、enable --nowを使う。何でもenableできるわけではなく、設定によるんだ。
ひよこ ひよこ
disableすれば動作も止まる?
ペンギン先生 ペンギン先生
disable単独では現在動いているサービスは止まらないよ。今止める操作はstop。有効化設定と現在の稼働状態は別物で、enabledでも停止中、disabledでも起動中という組み合わせがあるんだ。
ひよこ ひよこ
statusがactiveなら全部正常?
ペンギン先生 ペンギン先生
statusはユニットの状態や最近のログを示す。active (running)はプロセスの稼働を示すけれど、Webへの応答や業務処理まで正常という証明ではないよ。failedなら終了エラーやタイムアウトなどの原因も調べよう。
ひよこ ひよこ
古いログも全部statusで読める?
ペンギン先生 ペンギン先生
statusが表示するのは現在または直近の実行状態と最近のログだよ。過去の起動などを調べるならjournalctl --unit=nginx.serviceなどを使う。ここでのコマンドは説明例で、サービス名や管理方式は環境に合わせて確認してね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「systemctl」って出てきたら「systemdのサービスなどを操作・確認するコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「system control」 = システムの制御
💬 systemdの管理機能を操作するコマンド名。サービス以外のユニットも扱うよ。

参考資料

← 用語集にもどる