12

Я поместил один скрипт в /etc/init.d/abc.sh . Теперь я хочу, чтобы он запускался при запуске.

Как я могу сделать это с помощью chkconfig?

chkconfig --add abc.sh

Но я не уверен, как это работает.

5 ответов5

8

Я часто просто использую

/etc/rc.local

Итак, как ...

echo "/etc/init.d/abc.sh" >> /etc/rc.local

должен взломать это для тебя. Возможно, есть более подходящие места, но, как бы то ни было, это работает, в большинстве дистрибутивов это кажется.

7

Скрипты, которые запускаются при запуске, не называются скриптами - если вы хотите, чтобы скрипт выполнялся при запуске, измените следующее в /etc/crontab:

@reboot /path/to/script
2

Взгляните на другие существующие init-скрипты. В каждом надлежащем init-скрипте rh-стиля есть три подсказки: уровни выполнения, где должен запускаться скрипт, и приоритет, при котором он должен запускаться / останавливаться. Сумма start+stop должна быть обычно 100.

Эта строка комментария оценивается chkconfig.

1

Вы не можете, если вы не читаете /usr/share/doc/initscripts-*/sysvinitfiles и соответственно структурируете свой скрипт.

1

Ты на правильном пути. Ваш bash-скрипт находится в правильном месте, и вы добавили его в ваш chkconfig, что означает, что ваш скрипт установлен.

Обратите внимание, что /etc/init.d является символической ссылкой на /etc/rc.d/init.d

После добавления вашего скрипта вам нужно выбрать, на каком уровне запуска вы хотите его активировать: chkconfig --level 35 abc on активирует ваш скрипт на уровнях запуска 3 и 5, ваших самых распространенных стартапах.

Пожалуйста, обратитесь к chkconfig --help для получения дополнительной информации.

PS. Вы можете также использовать ntsysv , который является туй для chkconfig.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .