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