Systemd

如何使用 systemd 啟動 perl 網路伺服器?

  • May 7, 2021

我複制了這個文件(vokabel_daemon.service)

[Unit]
Description=Start vokabeltrainer daemon
After=network.target

[Service]
ExecStart=/home/mm/lib/vokabeltrainer/box_vokabeltrainer.pl daemon --listen "http://*:3001"

[Install]
WantedBy=mulit-user.target 

/etc/systemd/system/(openSUSE12.1)。

然後經過

systemctl enable vokabel_daemon.service
systemctl start vokabel_daemon.service

我可以打開我的網站。

但是重啟後就不行了。

systemctl status vokabel_daemon.service:

vokabel_daemon.service - Start vokabeltrainer daemon
         Loaded: loaded (/etc/systemd/system/vokabel_daemon.service; enabled)
         Active: inactive (dead)
         CGroup: name=systemd:/system/vokabel_daemon.service

之後systemctl start vokabel_daemon.service它再次工作:

vokabel_daemon.service - Start vokabeltrainer daemon
         Loaded: loaded (/etc/systemd/system/vokabel_daemon.service; enabled)
         Active: active (running) since Thu, 21 Jun 2012 08:38:16 +0200; 1s ago
       Main PID: 2288 (perl)
         CGroup: name=systemd:/system/vokabel_daemon.service
                 └ 2288 perl /home/mm/lib/vokabeltrainer/box_vokabeltrainer.pl daemon --listen http://*:3001

我必須更改哪些內容才能在重新啟動後不必手動啟動守護程序?

假設這不是拼寫錯誤,install您的拼寫錯誤服務文件中的部分包含拼寫錯誤。它應該是,multi-user.target而不是mulit-user.target( mulitvs. multi),例如:

[Install]
WantedBy=multi-user.target 

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