systemctl list-unit-files でサービスが表示されない

systemctl list-unit-files でサービスが表示されない

実行してもsystemctl list-unit-files サービス コマンドが表示されず、サービス (example という名前) が表示されません。その理由は何でしょうか?

init.d ファイルの場所:

/etc/rc.d/init.d/example

サービスファイル:

/run/systemd/generator.late/example.service
/run/systemd/generator.late/runlevel5.target.wants/example.service
/run/systemd/generator.late/runlevel4.target.wants/example.service
/run/systemd/generator.late/runlevel3.target.wants/example.service
/run/systemd/generator.late/runlevel2.target.wants/example.service

.サービスファイル:

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/example
Description=SYSV: Application Suite
Before=runlevel2.target
Before=runlevel3.target
Before=runlevel4.target
Before=runlevel5.target
After=network-online.target
After=network.service

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/example start

答え1

代わりにを使用するsystemctl list-unitと、生成されたユニットも含め、ロードされた (アクティブな) すべてのユニットが表示されます。

は、実際にインストールされたユニット ファイルに対してのみlist-unit-files機能します。生成されたユニット ファイルをデバッグするには、ディレクトリを確認するのが適切だと思います。または、ユニット ファイルと一部重複するメモリ内プロパティを確認するためにも/run使用できます。systemctl show example.service

ちなみに、特定のユニット名については、 を使用して、systemctl is-enabled <name> -lそれが「生成された」ものなのか、それとも静的にインストールされているものなのかを確認できます。

関連情報