【问题标题】:System Unit File always failed系统单元文件总是失败
【发布时间】:2020-06-08 19:07:34
【问题描述】:

我需要使用 Ubuntu 18.04 将我的 Go 应用程序部署到 aws(ec2 实例),但是我无法使用 systemd 使其运行。这是我创建的服务(/lib/systemd/system/go.service)

 [Unit]
 Description=go api

 [Service]
 Type=simple
 Restart=always
 RestartSec=5s
 ExecStart=/home/ubuntu/go/amutan

 [Install]
 WantedBy=multi-user.target

这是我运行sudo service go startsudo service go status时的结果

go.service - go api
Loaded: loaded (/lib/systemd/system/go.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2020-02-25 05
Process: 7326 ExecStart=/home/ubuntu/go/amutan (code=exited, status=203/EXEC)
Main PID: 7326 (code=exited, status=203/EXEC)

Feb 25 05:22:46 ip-172-31-27-28 systemd[1]: Stopped go api.
Feb 25 05:22:46 ip-172-31-27-28 systemd[1]: Started go api.
Feb 25 05:22:46 ip-172-31-27-28 systemd[1]: go.service: Main process exited, code=exited, status=203/EXEC
Feb 25 05:22:46 ip-172-31-27-28 systemd[1]: go.service: Failed with result 'exit-code'.

我的 go 二进制文件位于名为 amutan 的 /home/ubuntu/go 中。

有什么想法吗?

【问题讨论】:

  • 行没有完全复制(中间剪掉),错误信息中有趣的部分往往在最后。你能用完整的输出编辑问题吗?
  • @VonC 是的,更新了错误日志
  • 虽然不是第一行 ":enab"...
  • 启用),但已更新
  • 我希望在 code=exited、status=203/EXEC 之后获得更多信息,例如“找不到文件”或类似的可能有帮助的东西。

标签: go amazon-ec2 ubuntu-18.04


【解决方案1】:

该错误消息在official documentation

203 EXIT_EXEC 实际进程执行失败(具体来说, execve(2) 系统调用)。这很可能是由于丢失或 不可访问的可执行文件。

所以检查权限,确切的路径和诸如selinux设置之类的东西

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2015-01-02
    • 1970-01-01
    • 2016-11-18
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多