Назад | Перейти на главную страницу

Amazon linux EC2 от CloudFormation - остановить обслуживание

Я запускаю свой сервис на Amazon EC2, созданном из сценария CloudFormation.
Я помещаю служебный файл в /etc/rc.d/init.d/myService. (включая функции «старт» и «стоп»).
Я также связал это так:
/etc/rc.d/rc0.d/K00myService -> /etc/rc.d/init.d/myService
/etc/rc.d/rc6.d/K00myService -> /etc/rc.d/init.d/myService

Но когда я удаляю стек CloudFormation и EC2 отключается, служба «остановки» никогда не вызывается.

Версия для linux:

~> cat /etc/*-release
NAME="Amazon Linux AMI"
VERSION="2015.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2015.03"
PRETTY_NAME="Amazon Linux AMI 2015.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2015.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2015.03

Что мне не хватает?

Ваш сценарий инициализации создает файл блокировки /var/lock/subsys/<service> при запуске? Если этого не произойдет, процесс завершения работы будет предполагать, что подсистема не запущена, и не будет пытаться остановить службу.

Если это проблема, вам необходимо изменить сценарии запуска и остановки, чтобы сценарий запуска создавал файл блокировки при запуске (например, запустив touch /var/lock/subsys/<service>), а сценарий остановки удаляет файл блокировки при завершении работы.

Источники: