Systemd

為什麼我的 systemd 服務沒有自動啟動?

  • June 26, 2019

這是我的 boondocks-agent.service 文件。我已經將它安裝在 /lib/systemd/system 中:

[Unit]
Description=Boondocks agent
Requires=\
   balena.service 
After=\
   balena.service 

[Service]
Type=simple
Restart=always
RestartSec=10s
WatchdogSec=60
EnvironmentFile=/etc/boondocks-agent/agent.conf
EnvironmentFile=-/tmp/boondocks-agent.conf
ExecStartPre=-/usr/bin/stop-boondocks-agent
ExecStart=/usr/bin/healthdog --healthcheck=/usr/lib/boondocks-agent/boondocks-agent-healthcheck  /usr/bin/start-boondocks-agent
ExecStop=-/usr/bin/stop-boondocks-agent

[Install]
WantedBy=multi-user.target

當我啟動系統時,它似乎沒有啟動。乾淨啟動後,這是我看到的狀態:

systemctl status boondocks-agent
boondocks-agent.service - Boondocks agent
  Loaded: loaded (/lib/systemd/system/boondocks-agent.service; disabled; vendor preset: enabled)
  Active: inactive (dead)

我該怎麼做才能讓它在啟動時自動啟動?

編輯

在 YOCTO 中,相當於呼叫systemctl enable的是:

SYSTEMD_SERVICE_${PN} = " \
   boondocks-agent.service
   "

您需要在啟動時啟用它:

systemctl enable boondocks-agent

你說,

在 YOCTO 中,相當於呼叫systemctl enable的是:

   SYSTEMD_SERVICE_${PN} = " \
       boondocks-agent.service
       "

我認為這相當於安裝服務。要使服務預設啟用,您需要添加:

SYSTEMD_AUTO_ENABLE_${PN} = "enable"

引用自:https://unix.stackexchange.com/questions/441777