将二进制文件作为 systemd 服务运行不起作用

将二进制文件作为 systemd 服务运行不起作用

我有一个 go 项目,当我编译它时,我得到了典型的二进制文件。如果我使用足够的输入直接从命令行调用二进制文件,它就会运行得很好。我想让这个程序成为 systemd 生态系统的一部分,以下是我的 binary.service

[Unit]
Description=Run Go Service

[Service]
WorkingDirectory=/path/to/directory/
ExecStart=/path/to/directory/binary --config /full/path/to/service.conf
Restart=always

[Install]
WantedBy=multi-user.target

我可以使用通常的调用来启动和停止服务sudo service application start。我没有收到任何错误消息,但当我检查时,journalctl -xe它说启动失败,但没有详细说明原因。如果我通过命令行而不是通过 systemd 运行完全相同的命令,则应用程序运行得很好。我该如何解决这个问题?

相关内容