🎃
【Linux】systemd daemon-reload について
はじめに
サービスファイルを作成したので、systemctl daemon-reloadを実行したい。
しかし、他の実行中サービスに影響が出ないか気になったので調べたことをまとめる。
結論
systemctl daemon-reloadを実行しても、他の起動中サービスには影響は出ない。
このコマンドは systemd に「新しいサービスファイルや変更を再読み込みさせる」ためのものであり、実際にサービスの停止や再起動は行われない。
補足: reload と restart の違い
似たコマンドがいくつかあるが、役割が異なる。
違いを整理すると以下のようになる。
| コマンド | 目的 | 実行中サービスへの影響 |
|---|---|---|
systemctl daemon-reload |
サービス定義ファイルの再読み込み(systemd 自体の設定更新) | なし |
systemctl reload <サービス名> |
対象サービスに設定再読み込みを指示 | サービスにより異なるが、通常は再起動なし |
systemctl restart <サービス名> |
対象サービスの再起動 | 一時的に停止・再起動が発生する |
※ daemon-reload は「systemd の再読み込み」であり、reload は「サービス自身の再読み込み」なので目的が異なる。
systemd のディレクトリ構成
| ディレクトリ | 説明 |
|---|---|
/usr/lib/systemd/system/ |
systemd が利用するデフォルトのユニットファイルが格納。RPM パッケージなどによって提供される標準サービスファイルが格納 |
/run/systemd/system/ |
一時的な設定ファイル(systemctl edit 実行時などに作成される)。/usr/lib/systemd/system/よりも優先される |
/etc/systemd/system/ |
管理者が追加・上書きする設定。自作サービスの配置先。優先度が一番高い。同名のファイルがある場合はこちらが優先 |
参考にしたサイト
Discussion