命令在终端上运行但不能作为系统服务 Ubuntu 18.04 服务器运行

命令在终端上运行但不能作为系统服务 Ubuntu 18.04 服务器运行

我反复检查终端和 ./go.sh 是否正常工作,但无法作为服务启动。我知道我做错了,但不确定是什么。

/root/go.sh

#!/usr/bin/env bash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin

/root/goweb/bin/echoip -t=/root/goweb/bin/index.html


/lib/systemd/system/goweb.service

[Unit]
Description=goweb

[Service]
Type=forking
Restart=always
RestartSec=5s
ExecStart=/root/go.sh

[Install]
WantedBy=multi-user.target

我不知道现在发生了什么,服务启动又停止,启动又停止

Here is the status

goweb.service - goweb
   Loaded: loaded (/lib/systemd/system/goweb.service; enabled; vendor preset: en
   Active: activating (start) since Sun 2020-01-19 19:39:52 UTC; 36s ago
Cntrl PID: 1259 (bash)
    Tasks: 6 (limit: 1151)
   CGroup: /system.slice/goweb.service
           ├─1259 bash /root/go.sh
           └─1268 /root/goweb/bin/echoip -t=/root/goweb/bin/index.html

Jan 19 19:39:52 ip systemd[1]: goweb.service: Service hold-off time over, schedu
Jan 19 19:39:52 ip systemd[1]: goweb.service: Scheduled restart job, restart cou
Jan 19 19:39:52 ip systemd[1]: Stopped goweb.
Jan 19 19:39:52 ip systemd[1]: Starting goweb...
Jan 19 19:39:52 ip go.sh[1259]: echoip: Listening on http://0.0.0.0:8080

答案1

添加到脚本 go.sh 的顶部

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

如果需要更多路径,请将它们添加到上面,或者将完整路径添加到您想要在脚本上执行的任何脚本或命令。

相关内容