Wykrywanie błędów przy uruchamianiu forkujących się demonów
Jacek Konieczny
jajcus w bnet.pl
Pią, 9 Lip 2004, 15:22:32 CEST
On Fri, Jul 09, 2004 at 02:45:40PM +0200, Radoslaw Zielinski wrote:
> Jeśli demon zaraz po uruchomieniu zrobi fork() i exit(0), skrypty
> startowe stwierdzą, że start się udał. Ale problem może wystąpić
> dopiero po fork; tak dzieje się np. przy thttpd, gdy coś innego
> słucha już na porcie 80.
>
> Rozwiązanie: jeśli usługa potrafi zapisać swój PID w /var/run/,
> funkcja daemon() z /etc/rc.d/init.d/functions mogłaby sprawdzać,
> czy proces o tym PID jest uruchomiony.
I jak długo powinna czekać przed sprawdzeniem tego pidfile? Cokolwiek
założymy nie będzie wszystkim pasować -- na szybkich serwerach
inicjalizacja będzie trwała szybko, podobnie w przypakdu prostych
demonów. A złożony demon na wolnej maszynie może się wywrócić dopiero po
np. minucie.
Sprawdzanie czy proces żyje zaraz po odpaleniu może mieć mały sens.
Pozdrowienia,
Jacek
Więcej informacji o liście dyskusyjnej pld-rc-scripts