Я соединил простой "переключатель мертвеца" использование выскочки для автоматического завершения работу моих экземпляров EC2 после промежутка времени. Я делаю это для предотвращения страшного в понедельник утром блюз, когда Вы поняли, что оставили на виду экземпляр и работающий все выходные (и да, я мог использовать облачные часы, но я надеялся на очень простое и легкое решение).
Мой вопрос, это будет я работать в запутанном состоянии с любыми проблемами, если мой новомодный сценарий будет просто:
sleep +55m
shutdown -h now
Я волнуюсь что, когда завершение работы изменяет уровни выполнения, что оно могло иметь некоторые негативные последствия, когда это добирается до новомодного процесса, который выполняет само завершение работы.
Спасибо
Случайные идеи, если у вас возникнут проблемы с вашим текущим подходом:
Бросьте команды в фоновом режиме:
(sleep +55m; shutdown -h now) &
Tell отключение, чтобы запланировать его на 55 минут в будущем и бросить в фоновом режиме:
shutdown -h +55 &
Используйте «at», чтобы запланировать действие:
echo "shutdown -h now" | at now +55min
ПРИМЕЧАНИЕ: Для загрузочного экземпляра EC2 EBS действие по умолчанию «shutdown» - просто «остановить» экземпляр. Если вы хотите «прекратить» экземпляр, вам нужно будет установить для параметра instance-init-shutdown-поведение значение «terminate».
В командной строке ec2-run-instances это можно сделать с помощью параметра:
--instance-initiated-shutdown-behavior terminate
Консоль AWS имеет аналогичные параметры.
shutdown -h now
- это неблокирующая команда, поэтому проблем нет, поскольку задание завершается сразу после того, как оно отправило ядру запрос на завершение работы.