Я недавно создал страницу управления версиями из своего приложения для управления процессом развертывания.
(Да, я знаю, github + hooks лучше, чем переписывание с нуля. Но мы находимся в Иране, и наше любимое правительство заблокировало все ssh-соединения с пределами страны.
На странице есть действие слияния + перезагрузки. объединение работает как другие части, но перезагрузка завершается без какого-либо сообщения. Я добавил строку sudo для команды kill, и у пользователя рабочего процесса достаточно прав. Я даже выполнил кодовую оболочку django, и он перезагрузил процесс.
Есть ли какие-либо ограничения для приема сигналов, например, рабочие не могут перезагрузить своего мастера?
Вот соответствующие коды:
def command(x):
return str(Popen(x.split(' '), stdout=PIPE).communicate()[0])
pid = open(PATH + "/logs/gunicorn.pid").readline().strip()
cmd = "sudo kill -HUP %s" % pid
content += command(cmd)