systemctlコマンド
概要

systemdはUbuntuやCentOS、Debian、Fedoraなど主要なLinuxディストリビューションで標準の初期化(init)システムとして採用されており、OS起動時の各サービスの初期化や起動、プロセス管理を行う。systemctlコマンドはこのsystemdに対する主要な操作インターフェースである。
基本的なコマンド構文は「systemctl [サブコマンド] [ユニット名]」の形をとる。例えば、Webサーバのnginxを起動するには「systemctl start nginx」、停止するには「systemctl stop nginx」、再起動するには「systemctl restart nginx」と入力する。
また、設定ファイルを変更した後に再読み込みだけ行いたい場合は「systemctl reload nginx」を使う。現在の動作状態を確認するには「systemctl status nginx」で、サービスが動作中かどうか、最近のログ、プロセスIDなどがまとめて表示される。
OS起動時に自動的にサービスを起動させる設定は「systemctl enable nginx」で行い、自動起動を無効にするには「systemctl nginx」を使う。enable と start は独立した操作であり、enable だけでは現在の起動には影響しない点に注意が必要である。
systemdが管理する対象はサービスに限らず、「ユニット」と呼ばれる単位で管理されており、マウントポイントやタイマー、ソケット、デバイスなども含まれる。「systemctl list-units」で現在のユニット一覧を確認できる。ユニットの設定ファイルは「/etc/systemd/system/」や「/lib/systemd/system/」に配置されており、拡張子 .service のテキストファイルとして記述される。