systemctl list-unit-files zeigt meinen Dienst nicht an

systemctl list-unit-files zeigt meinen Dienst nicht an

Wenn ich systemctl list-unit-files den Befehl ausführe, wird mein Service nicht angezeigt (Beispiel genannt). Was kann der Grund dafür sein?

Speicherort der init.d-Datei:

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

Servicedateien:

/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

.Servicedatei:

# 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

Antwort1

Verwenden Sie systemctl list-unites stattdessen. Es werden alle geladenen (aktiven) Einheiten angezeigt, einschließlich der generierten.

Das list-unit-filesfunktioniert nur für die tatsächlich installierten Unit-Dateien. Um die generierten Dateien zu debuggen, /runreicht es wohl aus, sich das Verzeichnis anzusehen. Alternativ können Sie auch systemctl show example.servicedie Eigenschaften im Arbeitsspeicher anzeigen, die sich teilweise mit den Unit-Dateien überschneiden.

Übrigens können Sie für einen bestimmten Einheitennamen systemctl is-enabled <name> -lsehen, ob er „generiert“ ist oder wo er statisch installiert ist.

verwandte Informationen