Version CentOS 7.2
— y2sunlight 2020-05-28
systemd は RHEL7/CentOS7で使われているサービスを管理するデーモンです。ps -aux
で見ると PID=1
に君臨しています。そしてそれをコントロールするためのコマンドがsystemctlです。systemctl コマンドは、サービスの障害調査や再起動時に良く使います。以下では実際によく使う systemctl の利用例を紹介します。
また、systemctl に触れる機会は既存サービスのメンテナンスの時だけに限りません。自作のWebAPIを公開する時などもサービスを自作しなければならいので使っています。兎に角、CentOS7 になってから systemctl はよく使うようになりました。
関連記事
リンク
サービスは Unit という単位で作られ、以下のディレクトリーに保存されています。この Unit を定義しているのが unitファイルです。
/usr/lib/systemd/system/
下のunitファイルの修正には注意しましょう。自作のUnit を入れる場所は /etc/systemd/system/
です。
形式: systemctl COMMAND UNIT[.service]
sshd
)サービスの状態確認
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 # 設定ファイルの再読込