Zarządzanie demonami 451
33: restart)
34: $0 stop
30: 50 start
36:
37: *)
38: echo "Usage: httpd.init (start|stopI restart|status)"
39:
40: exit 1
41:esac
42:
43:exit 0
Najprostszym sposobem na wprowadzenie do systemu nowego demona jest przekopiowanie jakiegoś już istniejącego skryptu na plik o nowej nazwie i przeedytowanie tego pliku tak, aby robił to, czego potrzebujemy.
Większość wierszy skryptu jest w zasadzie taka sama we wszystkich skryptach init. W przedstawionym przed chwilą przykładzie specyficzne, typowe tylko dla skryptu httpd, są wyłącznie linie,: 3-7, 18-21, 24-28, 31 i 33. Właśnie te linie zajmują się zasadniczym działaniem programu lub samym jego uruchomieniem.
Linie 25 i 28 są specyficzne dla serwera Apache, ponieważ Apache przechowuje w celu uproszczenia działania ID (identyfikatory) procesów w pliku /var/run/httpd.pid. Jeśli demon, który chcemy utworzyć, nic będzie mógł wykonać operacji zawartych w tych dwóch liniach, pojawiający się wcześniej w programie skrypt functiono automatycznie znajduje identyfikator procesu wykonywanego demona i wyłącza proces. Przykładowo, jeśli nasz program będzie nazywał się. mydaemon, to linie.24-28 powinny wyglądać następująco:
24: echo -n „Wyłączanie skryptu mydaemon
25: killproc mydaemon
26: echo mydaemon
27: rm -f /yar/lcg/subsys/mydaemon
28: ; ;
Warto zauważyć, że nie ma tutaj linii usuwającej z katalogu /var/run plik zawierający identyfikatory procesów (oczywiście można go pozostawić i usunąć identyfikatory pod warunkiem, że mydemon zabezpieczy ich obsługę).
Poniższe podsumowanie służy sprawdzeniu, czy utworzony właśnie skrypt zawiera wszystkie niezbędne elementy, dzięki którym nie powinien sprawiać problemów arii nam, ant innym administratorom.
■ Skrypt zawiera argumenty start i stop.