宝塔用户_cnysgd 发表于 2024-3-11 18:50:36

【已解决】supervisor无法开启go语言的守护进程

本帖最后由 宝塔用户_cnysgd 于 2024-3-12 00:22 编辑

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:
免费版   8.0.5
系统版本:
云服务器,22.04.1-Ubuntu
问题描述:
go语言根目录下的某个文件,作为队列消耗进程,有func main()入口,编译为二进制文件是成功的,单独运行二进制文件也是可以运行以及正常消费的(图一)。
我的配置如下:

command=./drawQueue
directory=/www/wwwroot/Xxx/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/server/panel/plugin/supervisor/log/draw_image_queue.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/draw_image_queue.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=www
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d均是默认配置。

启动的时候是提示启动成功(图二)。


但是后续就退出了,查看supervisor的日志和进程本身的日志都是为空。
请问一下如果是go语言的进程的话,是否是因为消费者中的for的死循环造成的,还是因为我部署的姿势不对?


相关截图(日志、错误):
图一,单独启动成功:command指向的也是二进制文件



图二:supervisor提示启动成功:



宝塔用户_cnysgd 发表于 2024-3-12 00:15:23

问题已经解决,原因是执行二进制文件的command有错误,在此贴出来,以供参考::

command=/www/wwwroot/sse_test/drawQueue
directory=/www/wwwroot/sse_test/
autorestart=true
startsecs=5
startretries=5
stdout_logfile=/www/server/panel/plugin/supervisor/log/draw_image_queue.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/draw_image_queue.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=www
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d

最重要的一点是,平时我们执行二进制文件的指令是:./二进制文件,而在执行的指令的选项不能填./二进制文件,而应该是:/路径/二进制文件,或者如果有设置directory配置,那么command应该是:二进制文件
页: [1]
查看完整版本: 【已解决】supervisor无法开启go语言的守护进程