Uruchamianie us艂ug
Bardzo cz臋sto dzieje si臋 tak, 偶e dany system serwuje wiele us艂ug. Mog膮 by膰 one uruchamiane na kilka r贸偶nych sposob贸w. Ka偶dy z tych sposob贸w ma specyficzne sobie zalety. Oprogramowanie instalowane z port贸w lub kolekcji paczek cz臋sto umieszcza w katalogu /usr/local/etc/rc.d sw贸j skrypt, kt贸ry uruchamiany jest odpowiednio: podczas startu systemu - z argumentem startu, podczas zamkni臋cia systemu - z argumentem stopu. Jest to rekomendowany spos贸b uruchamiania us艂ug systemowych, kt贸re s膮 uruchamiane na prawach root'a. Skrypty te s膮 zanotowane w opisie instalacyjnym paczki, dlatego zostaj膮 usuni臋te, gdy usuwamy paczk臋. Domy艣lny plik startu, znajduj膮cy si臋 w /usr/local/etc/rc.d, wygl膮da tak: Aby wype艂ni膰 swe przeznaczenie, plik powy偶szy uruchamiany jest z argumentem startu podczas uruchamiania si臋 systemu, a z argumentem stopu podczas zamykania systemu. Niekt贸re us艂ugi skonstruowane s膮 tak, aby uruchamia艂 je inetd(8), gdy na odpowiednim porcie zostanie nawi膮zane po艂膮czenie. Jest to powszechne dla serwer贸w czytaj膮cych poczt臋 (POP, IMAP itp.). Us艂ugi owe uruchamia si臋 poprawiaj膮c odpowiednio plik /etc/inetd.conf. Aby dowiedzie膰 si臋 jak edytowa膰 ten plik zobacz inetd(8). Kilka dodatkowych us艂ug systemowych nie jest sterowana przez ustawienia w /etc/rc.conf. Uruchamia si臋 je komendami, kt贸re nale偶y umie艣ci膰 w /etc/rc.local. Od wersji 3.1 FreeBSD nie ma domy艣lnego pliku /etc/rc.conf, jednak偶e je艣li administrator taki utworzy, b臋dzie on honorowany w normalny spos贸b. Zauwa偶, 偶e rc.local postrzegany jest jako ostatnie miejsce w kt贸rym da si臋 uruchamia膰 us艂ugi. Je艣li istnieje lepsze miejsce dla ich uruchomienia, komendy startuj膮ce us艂ugi staraj si臋 umie艣ci膰 gdzie indziej. Uwaga: Nie umieszczaj 偶adnych komend w /etc/rc.conf. Aby uruchomia膰 demony, albo inne komendy podczas startu systemu, umie艣膰 skrypt w /usr/local/etc/rc.d. Istnieje mo偶liwo艣膰, aby do uruchamiania us艂ug, u偶y膰 demona cron(8). Rozwi膮zanie to ma wiele zalet, nie tylko dlatego, 偶e cron(8) uruchamia dane procesy jako w艂a艣ciciel crontab'a, ale dlatego, 偶e us艂ugi mog膮 by膰 uruchamiane i sterowane przez zwyk艂ych u偶ytkownik贸w. Opis czasu w pliku cron'a mo偶e zosta膰 zast膮piony przez @reboot, co uruchomi prace zaraz po starcie systemu.
#!/bin/sh
echo -n ' FooBar'
case "$1" in
start)
/usr/local/bin/foobar
;;
stop)
kill -9 `cat /var/run/foobar.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
mlodszy, czw., 24/04/2008 - 17:27