Вы можете изменить порядок, переименовав символические ссылки в /etc/rcX.d/, где x будет вашим уровнем выполнения.
Вы увидите кучу файлов, начинающихся с Sxx или Kxx. S-ссылки отслеживаются во время запуска, а K-ссылки анализируются на отключение. Хх здесь представляет порядок.
Но этот порядок установлен по причине, поэтому будьте осторожны при их изменении. Например. ntpd должен запускаться только после инициализации сетевой подсистемы.
Вместо того, чтобы делать это вручную, как предложено в других ответах, вы также можете изменить скрипт инициализации. Просто добавьте такую строку в шапку:
# chkconfig: 35 90 10
Это даст указание chkconfigдобавить службу к уровням выполнения 3 и 5 с начальной позицией 90 и позицией уничтожения 10.
Эта. Абсолютно это Если вы вручную переименуете символические ссылки, вы получите сюрприз, если кто-то придет и запуститchkconfig off servicename && chkconfig on servicename
batfastad
Работал как шарм. Мне нужно было настроить зависимости между mysqld и контейнером сервлета. Я не мог определить начальную позицию mysqld, поэтому я настроил начальную позицию контейнера сервлета на 99, и она работает просто отлично, сначала запускается mysqld. Благодарю.
jpangamarca
7
Вы хотите прочитать немного о своих уровнях запуска и каталогах rc.d. Внутри каталогов rc.d вы можете найти ссылки S и K, например, S20apache K10apache, который в основном определяет порядок запуска / выключения скриптов.
В эту архитектуру вносятся некоторые изменения, но большинство linux до сих пор ее используют.
Я поражен, что большинство дистрибутивов все еще используют эту систему; лучшие системы, такие как rcorderбыли вокруг некоторое время.
Крис С
Я как бы завидую Солярису svc, но могу обойтись без xml
coredump
Это место. Однако, в зависимости от вашего дистрибутива, у вас могут быть разные способы изменить это значение - так что прочтите конкретную документацию для вашего дистрибутива.
Андрей М.
1
Некоторые дистрибутивы, такие как Ubuntu, используют Upstart ( Википедия ).
Приостановлено до дальнейшего уведомления.
7
Если вы прибыли сюда, скорее всего, у вас есть две службы, одна из которых зависит от другой, но, поскольку они запускаются в неправильном порядке, служба с зависимостью не запускается. Предложения по редактированию символических ссылок являются информативными, с точки зрения иллюстрации того, как выполняется последовательность запуска, и будут работать нормально, пока кто-то не выполнит «chkconfig on» в вашем сервисе, после чего символические ссылки будут воссозданы в том виде, в котором они были изначально. На самом деле, вы хотите решить проблему на уровне сценария инициализации, что на самом деле гораздо менее грязно. Он также будет одинаковым для разных уровней выполнения. Вероятно, вам не нужно добавлять строку "# chkconfig", как предложено в ответе 4, поскольку там, вероятно, уже будет аналогичная строка.
Я буду использовать пример сервера под управлением Openldap (slapd) с базой данных MySQL (mysqld). Конфигурирование этой пары, и почему вы можете захотеть, это совсем другая история.
При загрузке Openldap не запускается, потому что это зависит от MySQL, и последовательность запуска пытается запустить его раньше - slapd имеет позицию 27, а mysqld - позицию 64
Соответствующие символические ссылки в /etc/rc3.d/
S27slapd -> ../init.d/slapd
and
S64mysqld -> ../init.d/mysqld
Я ищу значения, установленные в двух сценариях инициализации:
Ответы:
Вы можете изменить порядок, переименовав символические ссылки в /etc/rcX.d/, где x будет вашим уровнем выполнения.
Вы увидите кучу файлов, начинающихся с Sxx или Kxx. S-ссылки отслеживаются во время запуска, а K-ссылки анализируются на отключение. Хх здесь представляет порядок.
Но этот порядок установлен по причине, поэтому будьте осторожны при их изменении. Например. ntpd должен запускаться только после инициализации сетевой подсистемы.
источник
Вместо того, чтобы делать это вручную, как предложено в других ответах, вы также можете изменить скрипт инициализации. Просто добавьте такую строку в шапку:
Это даст указание
chkconfig
добавить службу к уровням выполнения 3 и 5 с начальной позицией 90 и позицией уничтожения 10.источник
chkconfig off servicename && chkconfig on servicename
Вы хотите прочитать немного о своих уровнях запуска и каталогах rc.d. Внутри каталогов rc.d вы можете найти ссылки S и K, например, S20apache K10apache, который в основном определяет порядок запуска / выключения скриптов.
В эту архитектуру вносятся некоторые изменения, но большинство linux до сих пор ее используют.
источник
rcorder
были вокруг некоторое время.svc
, но могу обойтись без xmlЕсли вы прибыли сюда, скорее всего, у вас есть две службы, одна из которых зависит от другой, но, поскольку они запускаются в неправильном порядке, служба с зависимостью не запускается. Предложения по редактированию символических ссылок являются информативными, с точки зрения иллюстрации того, как выполняется последовательность запуска, и будут работать нормально, пока кто-то не выполнит «chkconfig on» в вашем сервисе, после чего символические ссылки будут воссозданы в том виде, в котором они были изначально. На самом деле, вы хотите решить проблему на уровне сценария инициализации, что на самом деле гораздо менее грязно. Он также будет одинаковым для разных уровней выполнения. Вероятно, вам не нужно добавлять строку "# chkconfig", как предложено в ответе 4, поскольку там, вероятно, уже будет аналогичная строка.
Я буду использовать пример сервера под управлением Openldap (slapd) с базой данных MySQL (mysqld). Конфигурирование этой пары, и почему вы можете захотеть, это совсем другая история.
При загрузке Openldap не запускается, потому что это зависит от MySQL, и последовательность запуска пытается запустить его раньше - slapd имеет позицию 27, а mysqld - позицию 64
Соответствующие символические ссылки в /etc/rc3.d/
Я ищу значения, установленные в двух сценариях инициализации:
Я редактирую строку chkconfig в /etc/rc.d/init.d/slapd, чтобы иметь стартовую позицию выше, чем в /etc/rc.d/init.d/mysqld (я выбрал 85)
Я делаю "chkconfig slapd on" и перепроверяю символические ссылки
Теперь, когда этот сервер запускается, mysqld запускается до slapd, и с миром все в порядке.
источник