我有一个go项目,当我编译它时,我得到你的典型二进制文件。如果我使用足够的输入直接从命令行调用二进制文件,它运行得非常好。我想让这个程序成为systemd生态系统的一部分,以下是我的gobinary.service
[Unit]
Description=Run Go Service
[Service]
WorkingDirectory=/path/to/directory/
ExecStart=/path/to/directory/binary --config config/service.conf
Restart=always
[Install]
WantedBy=multi-user.target
我可以使用通常的sudo service gobinary start
启动和停止服务而没有错误消息,但问题是程序实际上没有运行,因为它没有响应输入,即它有一个rabbitmq输入队列,尽管我将内容发送到它没有反应的队列。但是,如果我直接使用二进制文件运行程序$ ./binary --config/service.conf
,一切都运行顺利。我该如何解决这个问题?