ubuntu 20.04 服务自动启动

ubuntu 20.04 服务自动启动

我有一个开始使用的流程sudo ./whatever

我想使它成为自动启动的服务。

已经创建了一个 .service 文件并将其放入,/etc/systemd/system但它不会启动进程。我怀疑问题与 sudo 有关,但不知道如何解决。这是我遵循的脚本

[Unit]
Description=what
After=network.target
[Service]
User=w
Group=w
WorkingDirectory=/home/w/test
ExecStart=/home/w/test/whatever
KillMode=process
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=what
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target

答案1

如果您需要以 root 身份运行脚本,请不要使用User=wGroup=w

[Unit]
Description=what
After=network.target

[Service]
WorkingDirectory=/home/w/test
ExecStart=/home/w/test/whatever
KillMode=process
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=what
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

启用并启动它:

sudo systemctl enable yourservice
sudo systemctl start yourservice

修改脚本并添加:

echo "Starting my CustoM script" | logger

重启后检查是否已执行:

journalctl -b | grep CustoM

答案2

感谢大家的指点。结果发现是权限问题,必须更改文件夹和服务文件的所有权。每天都是上学日!

相关内容