我正在使用CloudFormation脚本创buildAmazon EC2上的服务。
我把服务文件放在/etc/rc.d/init.d/myService 。 (包括“开始”和“停止”function)。
我也是这样链接的:
/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
我错过了什么?
您的init脚本在启动时是否创build了一个锁文件/var/lock/subsys/<service> ? 如果没有,关机过程将假定子系统没有运行,并且不会尝试停止服务。
如果这是问题,则需要修改启动脚本和停止脚本,以便启动脚本在启动时创buildlocking文件(例如,通过运行touch /var/lock/subsys/<service> ),停止脚本删除locking文件closures。
资料来源: