    Applications exist in which the only purpose of ti(fork) is to start a
child process. The parent process terminates immediately after spawning the
child process. If this happens, the child process continues to run as a child
process of ti(init), the always running first process on i(Unix) systems. Such
a process is often called a emi(daemon), running as a i(background process).

Although the next example can easily be constructed as a plain bf(C)
program, it was included in the bf(C++) Annotations because it is so closely
related to the current discussion of the tt(Fork) class. I thought about
adding a tt(daemon) member to that class, but eventually decided against it
because the construction of a daemon program is very simple and requires no
features other than those currently offered by the class tt(Fork).  Here is an
example illustrating the construction of such a daemon program. Its child
process doesn't do ti(exit) but tt(throw 0) which is caught by the tt(catch)
clause of the child's tt(main) function. Doing this ensures that any objects
defined by the child process are properly destroyed:
        verbinclude(-a examples/daemon.cc)
