198 Programming NAME nanny - A server to run all servers SYNOPSIS /etc/nanny [switch [argument]] [...switch [argument]] DESCRIPTION Most systems have a number of servers providing utilities for the system and its users. These servers, unfortunately, tend to go west on occasion and leave the system and/or its users without a given service. Nanny was created and implemented to oversee (babysit) these servers in the hopes of preventing the loss of essential services that the servers are providing without constant intervention from a system manager or operator. In addition, most servers provide logging data as their output. This data has the bothersome attribute of using up the disk space where it is being stored. On the other hand, the logging data is essential for tracing events and should be retained when possible. Nanny deals with this overflow by being a go- between and periodically redirecting the logging data to new files. In this way, the logging data is partitioned such that old logs are removable without disturbing the newer data. Finally, nanny provides several control functions that allow an operator or system manager to manipulate nanny and the servers it oversees on the fly. SWITCHES .... BUGS A server cannot do a detaching fork from nanny. This causes nanny to think that the server is dead and start another one time and time again. As of this time, nanny can not tolerate errors in the configuration file. Thus, bad file names or files that are not really configuration files will make nanny die. Not all switches are implemented. Nanny relies very heavily on the networking facilities provided by the system to communicate between processes. If the network code produces errors, nanny can not tolerate the errors and will either wedge or loop.
If You Can’t Fix It, Restart It! 199 Restarting buggy software has become such a part of common practice that MIT’s Project Athena now automatically reboots its Andrew File System (AFS) Server every Sunday morning at 4 a.m. Hope that nobody is up late working on a big problem set due Monday morning.…
Previous Page Next Page