目次

systemctlコマンド

Version CentOS 7.2

y2sunlight 2020-05-28

CentOS パッケージ管理に戻る

systemd は RHEL7/CentOS7で使われているサービスを管理するデーモンです。ps -aux で見ると PID=1 に君臨しています。そしてそれをコントロールするためのコマンドがsystemctlです。systemctl コマンドは、サービスの障害調査や再起動時に良く使います。以下では実際によく使う systemctl の利用例を紹介します。

また、systemctl に触れる機会は既存サービスのメンテナンスの時だけに限りません。自作のWebAPIを公開する時などもサービスを自作しなければならいので使っています。兎に角、CentOS7 になってから systemctl はよく使うようになりました。

関連記事

リンク


systemdの基礎知識

Unit

サービスは Unit という単位で作られ、以下のディレクトリーに保存されています。この Unit を定義しているのが unitファイルです。

/usr/lib/systemd/system/ 下のunitファイルの修正には注意しましょう。自作のUnit を入れる場所は /etc/systemd/system/ です。


systemctlのユースケース

サービスの操作

形式: systemctl COMMAND UNIT[.service]

サービスの状態確認

systemctl status sshd      # 状態確認
systemctl is-enabled sshd  # 有効化確認

サービスの起動/終了/再起動

systemctl start sshd    # 起動
systemctl stop sshd     # 終了
systemctl restart sshd  # 再起動

自動起動の有効化/無効化

systemctl enable sshd   # 有効化
systemctl disable sshd  # 無効化

サービス一覧

稼働中のサービス一覧

systemctl list-units --type=service

定義されているサービス一覧

systemctl list-unit-files --type=service  # static/enabled/disabledも見れます

その他

サービス設定ファイル(*.service)を変更した時

systemctl daemon-reload  # 設定ファイルの再読込