Mamy około 40 komputerów z identycznym sprzętem i oprogramowaniem. Wszystkie uruchamiają Ubuntu 11.10. Wszystkie mają tylko jedno konto użytkownika do zalogowania. Plik .profile jest skonfigurowany do uruchamiania procesu demona. Kod demona jest napisany w C.Co może spowodować wygenerowanie SIGHUP?
Raz na kilka tygodni otrzymujemy raport, że demon już nie działa. Nie dzieje się to na wszystkich komputerach, ale tylko na jednym lub dwóch. Nie możemy odtworzyć problemu konsekwentnie.
Patrząc na kod, aplikacja kończy pracę, gdy otrzyma SIGHUP lub SIGTERM.
Jak rozumiem, SIGHUP jest generowany, gdy użytkownik się wylogowuje. W naszym przypadku użytkownik nigdy się nie wyloguje. Zastanawiam się, czy możliwe jest, że SIGHUP mógł zostać wygenerowany z jakiegoś innego powodu. Każda inna myśl byłaby doceniona.
Czy próbowałeś zalogować się do demona, aby sprawdzić, który z 2 sygnałów, jeśli są przyczyną? Wydaje się, że SIGHUP jest wyzwalany, jeśli terminal sterujący jest zamknięty, ale jeśli korzystasz z kompilacji serwerów i tylko z jednego głównego połączenia, to chyba różnica jest dyskusyjna. –
Sygnały mogą być również wysyłane ręcznie. Kto wie? – arkascha