CentOSやRedhatの7系からサービス管理に使用する「systemctl」コマンドの
7系以前の「service」コマンドとは少々使用方法が違いますので、利用時には注意してください。
目次
systemctlコマンドとは?
systemctlコマンドはsystemdを操作するコマンドで、
サービスの起動や停止・起動設定の変更と状態確認ができます。
systemdは従来のinitの代替機能で、高速なシステム起動・終了や、様々なシステム管理機能を提供されています。
ちなみに従来のinitはシンボリックリンクでsystemdとして利用されています。
$ ls -l /sbin/init
lrwxrwxrwx. 1 root root 22 Mar 30 22:53 /sbin/init -> ../lib/systemd/systemd
systemctlコマンドの使用方法
以下がsystemctlコマンドの書き方になります。
systemctl [オプション] コマンド [Unit名]
操作 | コマンド |
---|---|
サービス起動 | systemctl start [Unit名] |
サービス停止 | systemctl stop [Unit名] |
サービス再起動 | systemctl restart [Unit名] |
サービスリロード | systemctl reload [Unit名] |
サービスステータス表示 | systemctl status [Unit名] |
サービス自動起動有効 | systemctl enable [Unit名] |
サービス自動起動無効 | systemctl disable [Unit名] |
サービス自動起動設定確認 | systemctl is-enabled [Unit名] |
サービス一覧 | systemctl list-unit-files --type=service |
設定ファイルの再読込 | systemctl daemon-reload |
ここから実際の使用方法を記載します。今回はMariaDBを使用して起動や停止を実施していきます。
サービスの起動
systemctl start mariadb.service
サービスを停止
systemctl stop mariadb.service
サービスの自動起動有効化
systemctl enable mariadb.service
サービスの自動起動無効化
systemctl disable mariadb.service
サービスのステータス確認
systemctl status mariadb.service
systemctlコマンドのオプション
オプション | オプションの意味 |
---|---|
-a or --all | 全てのユニット/プロパティを表示する |
-t or --type= | 特定のユニットのみを指定して表示する |
-l or full | ユニット名、プロセスツリーエントリー、ジャーナル出力を省略しないせずに出力する |
--show-types | ソケット表示で、そのタイプを表示する |
--no-block | 要求された操作が終わるまで同期的に待たない。これが指定されていない場合はジョブはベリファイされたのちエンキューされて systemctl はジョブの完了を待つ。 |