An application initiates a parent process (102) to begin executing the
application. The parent process (102) creates a child process (104)
to execute the application. The parent monitors the death of the child process
using inter-process communications (118). The child process monitors the
parent process using polling (114, 116). If the parent process detects the
death of the child, the parent process creates another child to continue the processing
of the dead child. If the child process detects the death of the parent process
(119), the child creates another child process (120) to execute the
application it previously executed. The original child, now a parent, monitors
the child process via inter-process communication (128). The new child monitors
the parent using polling (124, 126)