我有一个 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 运行完全相同的命令,则应用程序运行得很好。我该如何解决这个问题?