Für jedes Runlevel (0 6) gibt es einen Ordner /etc/rc[N‹.d
In jedem Verzeichnis gibt es symbolische Verknüpfungen, die entweder mit einem "S" oder mit einem "K" beginnen. "S" zum Starten und "K" zum Stoppen. Die Skripte werden in einer lexikalischen Sortierweise des Dateinamens ausgeführt , mit anderen Worten, S10script wird zuerst ausgeführt als S20myscript. Zum Beispiel :
Wir haben zwei einfache Skripte, das Skript second.sh muss nach dem Skript fist.sh im aktuellen Runlevel ausgeführt werden.
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
Was ist mein aktuelles Level?
[root@localhost init.d]# runlevel
N 5
Jetzt brauchen wir einen symbolischen Link, der mit S (N) myScript für das erste und S (N + 1) mysecondScript beginnt:
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
Wir können das Meldungsprotokoll neu starten und überprüfen:
[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)]:
Getestet auf alten Centos5