Я хочу запустить один скрипт sysvinit перед другим и выяснить, как это сделать.
Чтобы убедиться, что это на самом деле происходит в том порядке, который мне нравится, я хотел бы увидеть список, в каком порядке это происходит.
Я sudo insserv --showall
уже нашел , но не могу разобраться с этим, так как в нем несколько раз перечислены сценарии инициализации.
Как узнать, в каком порядке скрипты /etc/init.d загружаются в Debian?
Ответы:
В каталоге /etc/init.d/ есть несколько файлов:
Каждый раз, когда вы запускаете
update-rc.d
файлы будут меняться..depend.boot
файл дляS
уровня,.depend.start
для2 3 4 5
уровней и.depend.stop
для0 1 6
.В моем случае у меня есть следующий порядок в
.depend.start
:Вы также можете увидеть, почему заказ представлен так, как вы видите выше. Каждая следующая строка выглядит так:
а это значит, что
cgrulesengd
нужноrsyslog
cgconfig
начинать раньше.источник
Для каждого уровня выполнения (0 6) есть папка /etc/rc[N].d
В каждом каталоге есть символическая ссылка, которая начинается с буквы «S» или «K». «S», чтобы начать e «K», чтобы остановить. Сценарии выполняются в лексической манере сортировки имени файла , другими словами, S10script будет выполняться первым, чем S20myscript. Например :
у нас есть два простых сценария, сценарий second.sh должен выполняться после сценария fist.sh на текущем уровне выполнения.
Каков мой текущий уровень?
Теперь нам нужна символическая ссылка, начинающаяся с S (N) myScript для первого и S (N + 1) mysecondScript:
Мы можем перезагрузиться и проверить журнал сообщений:
Проверено на старых Centos5
источник