Для каждого уровня выполнения (0 6) есть папка /etc/rc[N].d
В каждом каталоге есть символическая ссылка, которая начинается с буквы «S» или «K». «S», чтобы начать e «K», чтобы остановить. Сценарии выполняются в лексической манере сортировки имени файла , другими словами, S10script будет выполняться первым, чем S20myscript. Например :
у нас есть два простых сценария, сценарий second.sh должен выполняться после сценария fist.sh на текущем уровне выполнения.
root@localhost init.d]# cat /etc/init.d/first.sh
#!/bin/bash
#
echo 'I am the first' >> /var/log/messages
root@localhost init.d]# cat /etc/init.d/second.sh
#!/bin/bash
#
echo 'I am the second' >> /var/log/messages
Каков мой текущий уровень?
[root@localhost init.d]# runlevel
N 5
Теперь нам нужна символическая ссылка, начинающаяся с S (N) myScript для первого и S (N + 1) mysecondScript:
root@localhost rc5.d]# ln -s /etc/init.d/first.sh /etc/rc5.d/S1first
root@localhost rc5.d]# ln -s /etc/init.d/second.sh /etc/rc5.d/S2second
Мы можем перезагрузиться и проверить журнал сообщений:
[root@localhost ~]# cat /var/log/messages | grep "I am" -A 1 -B 1
Dec 13 13:53:36 localhost rpc.statd[3468]: Version 1.0.9 Starting
I am the first
Dec 13 13:53:37 localhost hcid[3532]: Bluetooth HCI daemon
--
Dec 13 13:53:40 localhost automount[3689]: lookup_read_master: lookup(nisplus): couldn't locate nis+ table auto.master
I am the second
Dec 13 13:53:41 localhost gpm[3785]: *** info [startup.c(95)]:
Проверено на старых Centos5