Я использую Amazon Linux (дистрибутив на основе RH) в AWS EC2.
Я следовал структуре /usr/share/doc/initscripts-*/sysvinitfiles
чтобы создать сценарий инициализации в /etc/init.d
.
/etc/init.d/do_something
#!/bin/sh
# chkconfig: 3 90 10
# description: Description of the script
start () {
echo -n "Doing something..." >> /opt/started.log
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/do_something
return $RETVAL
}
stop () {
echo -n "Stopping doing something..." >> /opt/stopped.log
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -rf /var/lock/subsys/do_something
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $?
Затем я могу зарегистрировать его с помощью chkconfig, выполнив chkconfig --add do_something
. Это создает символьную ссылку S в /etc/rc3.d
. Однако K символьная ссылка не создается. Если я вручную создаю символическую ссылку и выключаю или перезапускаю экземпляр, системный сценарий выполняется должным образом.
Что я делаю неправильно и как я могу получить символическую ссылку K для генерации (чтобы мне не пришлось создавать ее вручную)?