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