Linuxサーバーを使っていると、こんなことってありませんか?
- 「Webサーバーが起動していない」
- 「パソコンを再起動したら、いつものサービスが動いていない」
- 「サービスが止まってしまった…どうやって直そう?」
そんなときに役立つのが、systemctl(システム・シーティーエル)コマンドです。
systemctlは、Systemd(システムディー)というプログラム管理システムの一部で、今のLinuxでは標準的に使われています。
この記事では、systemctlの基本的な使い方を、初心者の方にも分かりやすく説明します。
systemctlって何?

Systemdの管理ツール
systemctlは、Linuxでサービス(バックグラウンドで動くプログラム)やプロセスを管理するためのコマンドです。
昔使われていたserviceコマンドの新しいバージョンで、CentOS 7以降、Ubuntu 16.04以降などで主に使われています。
基本的な書き方
systemctl [何をするか] [サービス名]
例えば:
systemctl start nginx
これで「nginxというサービスを起動する」という意味になります。
よく使うsystemctlコマンド一覧
| やりたいこと | コマンド | 使用例 |
|---|---|---|
| サービスを起動する | start | systemctl start httpd |
| サービスを止める | stop | systemctl stop nginx |
| サービスを再起動する | restart | systemctl restart sshd |
| 設定ファイルを読み直す | reload | systemctl reload apache2 |
| サービスの状態を見る | status | systemctl status mysql |
| 自動起動をオンにする | enable | systemctl enable docker |
| 自動起動をオフにする | disable | systemctl disable postgresql |
| 動いているか確認する | is-active | systemctl is-active sshd |
| 自動起動がオンか確認する | is-enabled | systemctl is-enabled crond |
状態確認に便利なコマンド
サービスの今の状態を見る
systemctl status nginx
このコマンドを使うと、サービスが動いているか(active)どうかと、最近のログの一部が表示されます。
今動いているサービス一覧を見る
systemctl list-units --type=service
このコマンドで、今動いているサービスがすべて表示されます。
自動起動設定の操作
パソコン起動時に自動でサービスを起動したいとき
systemctl enable httpd
これを実行すると、パソコンを起動するたびに、httpdサービスが自動で立ち上がるようになります。
自動起動をやめたいとき
systemctl disable httpd
これで、パソコンを再起動してもサービスが勝手に起動しなくなります。
サービスがうまく動かないときの確認方法
サービスに問題があるときは、次の順番で確認してみましょう:
systemctl status サービス名でエラーの内容を見るjournalctl -xeで詳しいログを表示するps aux | grep サービス名でプロセスが本当に存在するか調べる
よくある質問

serviceコマンドと何が違うの?
serviceコマンドは古いシステム(SysVinit)用のもので、systemctlは新しいSystemd専用です。最近のLinuxディストリビューションでは、systemctlを使うのが標準です。
systemctlコマンドはsudoが必要?
ほとんどの操作でsudoが必要です。一般ユーザーでは権限が足りません。
sudo systemctl start apache2
サービス名が分からないときは?
以下のコマンドで探せます:
systemctl list-unit-files --type=service
または:
systemctl | grep nginx
まとめ:systemctlを使いこなせばLinux操作が楽になる!
systemctlを使えば、サービスの起動・停止・監視・自動化まで一つのコマンドで管理できます。特にサーバー運用をするときには欠かせないコマンドなので、基本操作をしっかり覚えておきましょう。
覚えておきたい基本コマンド
| やりたいこと | コマンド |
|---|---|
| サービスを起動する | systemctl start サービス名 |
| 状態を確認する | systemctl status サービス名 |
| 再起動する | systemctl restart サービス名 |
| 自動起動を設定する | systemctl enable サービス名 |
| 自動起動を解除する | systemctl disable サービス名 |


コメント