【已解决】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提示启动成功:
问题已经解决,原因是执行二进制文件的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]