
Когда я выполняю systemctl list-unit-files
команду does not show my service, она не показывает мой сервис (называется 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
чтобы увидеть, «сгенерирован» ли он или где он установлен статически.