====== systemctlコマンド ======
Version CentOS 7.2
--- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-28//
[[centos:top|CentOS パッケージ管理に戻る]]
systemd は RHEL7/CentOS7で使われているサービスを管理するデーモンです。''ps -aux'' で見ると ''PID=1'' に君臨しています。そしてそれをコントロールするためのコマンドがsystemctlです。systemctl コマンドは、サービスの障害調査や再起動時に良く使います。以下では実際によく使う systemctl の利用例を紹介します。
また、systemctl に触れる機会は既存サービスのメンテナンスの時だけに限りません。自作のWebAPIを公開する時などもサービスを自作しなければならいので使っています。兎に角、CentOS7 になってから systemctl はよく使うようになりました。
関連記事
* [[centos:package|CentOS パッケージ管理の基礎知識]]
* [[centos:yum|yum --- パッケージ管理システム]]
* systemctl --- サービスの操作
* [[centos:journalctl|journalctl --- ログの操作]]
* [[centos:firewall-cmd|firewall-cmd --- ファイアウォールの操作]]
リンク
* [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd|Red Hat Customer Portal - systemd]] --- systemd の概要
* [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-services|Red Hat Customer Portal - systemctl]] --- システムサービスの管理
----
===== systemdの基礎知識 =====
=== Unit ===
サービスは Unit という単位で作られ、以下のディレクトリーに保存されています。この Unit を定義しているのが unitファイルです。
* /usr/lib/systemd/system/ --- インストール済みのRPMパッケージで配布されたunitファイル
* /etc/systemd/system/ --- サービスの上書き 及び 拡張向けに追加されたunitファイル
''/usr/lib/systemd/system/'' 下のunitファイルの修正には注意しましょう。自作のUnit を入れる場所は ''/etc/systemd/system/'' です。
\\
===== systemctlのユースケース =====
=== サービスの操作 ===
形式: ''systemctl COMMAND UNIT[.service]''
* COMMAND --- コマンド名(以下にケース毎に記載)
* UNIT--- ユニット名(以下の例では ''sshd'')
{{fa>question-circle}}サービスの状態確認
systemctl status sshd # 状態確認
systemctl is-enabled sshd # 有効化確認
{{fa>question-circle}}サービスの起動/終了/再起動
systemctl start sshd # 起動
systemctl stop sshd # 終了
systemctl restart sshd # 再起動
{{fa>question-circle}}自動起動の有効化/無効化
systemctl enable sshd # 有効化
systemctl disable sshd # 無効化
=== サービス一覧 ===
{{fa>question-circle}}稼働中のサービス一覧
systemctl list-units --type=service
{{fa>question-circle}}定義されているサービス一覧
systemctl list-unit-files --type=service # static/enabled/disabledも見れます
=== その他 ===
{{fa>question-circle}}サービス設定ファイル(*.service)を変更した時
systemctl daemon-reload # 設定ファイルの再読込
\\