После того, как я внесу некоторые изменения в файл 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, чтобы вернуться к командной строке.
Приветствие.
Изменения в сценариях Upstart применяются, когда все запущенные экземпляры этого задания остановлены. Таким образом, изменение файла conf и выполнение sudo restart job
запустят его со старыми значениями. Вам нужно sudo stop job
, затем sudo start job
, чтобы новый файл вступил в силу.
Бонус: sudo stop job
застревание в таком сценарии означает, что вы неправильно определили expect
строфу. См. раздел «Поваренная книга» по ожидаемым для получения дополнительной информации об этом. tl; dr, скорее всего, это лишнее и может быть удалено.