我有一个简单的python脚本(discord bot),当我使用命令python3 discord_bot.py &
或sh start_bot.sh
运行它时,它运行良好。
但是如何用supervisord运行呢?
更新: 我已经安装了supervisord。但是当我尝试运行进程时,我有错误:
exit status 0; not expected
我的supervisord配置:
[program:AFI]
command=/home/maksymov/www/Bots/discord_bots/afi/start_bot.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/afi.err.log
stdout_logfile=/var/log/afi.out.log
user=www-data
答案 0 :(得分:0)
可能你需要使用其中一个"主管"。与system.d或ramona
一样第一个更通用。第二个是更多" python特定的"
答案 1 :(得分:0)
我猜你的程序试图作为守护进程运行。我从文档中粘贴了最相关的部分:
计划在主管下运行的程序不应该自己守护。相反,它们应该在前台运行。他们不应该从他们开始的终端分离。
判断程序是否在前台运行的最简单方法是运行从shell提示符调用程序的命令。如果它让你控制终端,但继续运行,那就是守护自己,这几乎肯定是在主管下运行它的错误方法。