在我对 upstart conf 文件进行一些更改后,upstart 不会重新加载新的更改,直到我重新启动系统
start on filesystem or runlevel [23]
stop on runlevel [6]
respawn
expect fork
script
echo "Starting gunicorn.." > /tmp/upstart_t
exec /srv/sms/mwav_messenger/gunicorn_start.sh
end script
console output
如果我修改此脚本,我将继续获得原始行为。此外,如果我手动停止或启动脚本,命令行就会挂起,我需要按 Control-c 才能返回命令行。
干杯。
答案1
当该作业的所有运行实例都已停止时,对 Upstart 脚本的更改才会生效。因此,修改 conf 文件并执行sudo restart job
将使用旧值运行它。您需要sudo stop job
,然后sudo start job
才能使新的 conf 文件生效。
奖励:sudo stop job
卡在这样的脚本意味着你expect
定义了错误的节。参见关于 expect 的 Cookbook 部分有关更多信息。tl;dr,很可能是多余的,可以被删除。