It is often a pain to write a server program that supports graceful restarts, with no resource leaks. The Perl 5 module Server::Starter, solves the problem by splitting the task into two. One is start_server, a script provided as a part of the module, which works as a superdaemon that binds to one or more TCP ports, and repeatedly spawns the server program that actually handles the incomming commenctions. The spawned server programs under Server::Starter call accept(2) and handle the requests.