当我执行systemctl list-unit-files
“不显示我的服务”命令时,它不显示我的服务(称为示例)。这是什么原因造成的?
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
来查看它是否是“生成的”,或者它静态安装在哪里。