У меня есть сценарий оболочки, который работает на jvm, он работает так, как я пишу: sh /opt/bin/myshel.sh
я добавил сценарий оболочки в /etc/inti.d со следующими подробностями:
#! /bin/sh
### BEGIN INIT INFO
# Provides: WSO2Services.sh
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
/opt/bin/myshel.sh
Я сохранил этот файл как «myShell.sh» в «/etc/init.d» и изменил его режим на исполняемый. А также я использовал sudo update-rc.d myShell.sh defaults
для обновления файлов "rc * .d". Проблема в том, что он не работает при перезагрузке.
/opt/bin/myshell.sh
)./opt/bin/myshell.sh
? Спасибо за помощь.exit 0
, но, конечно, до этого.Сначала проверьте
/etc/inittab
файл. Есть такая строка, как «id:2:initdefault
Так начнется на уровне выполнения»2
(в моем случае). Так что это будет запускаться при загрузке:/etc/init.d/rc 2
. Таким образом,/etc/rc2.d
будут запущены все сценарии, начинающиеся с S ## somename (# - десятичная цифра) . Это символические ссылки на скрипты в/etc/init.d
.То же самое должно быть сделано в вашем случае. Если вы используете уровень запуска,
2
создайте символическую ссылку в /etc/rc2.d/S##myshell.sh на скрипт в../init.d/myshel.sh
. Затем он будет работать во время загрузки. Имейте в виду, что сценарии с одинаковым уровнем сценария (две десятичные цифры послеS
) выполняются параллельно.Я бы посоветовал вам проверить файлы в /etc/init.d, как они должны выглядеть, какие аргументы следует поддерживать.
источник
update-rc.d [name] defaults
делает