session id (by starting a new session via setsid(2)). To simplify system administration, it is often desirable to use a service wrapper so that processes not designed to be used as services respond correctly to system signals. An alternative to keep processes running without orphaning them is to use a terminal multiplexer and run the processes in a detached session (or a session that becomes detached), so the session is not terminated and the process is not orphaned. A server process is also said to be orphaned when the client that initiated the request unexpectedly crashes after making the request while leaving the server process running. These orphaned processes waste server resources and can potentially leave a server starved for resources. However, there are several solutions to the orphan process problem: Termination is the most commonly used technique; in this case the orphan is killed. Reincarnation is a technique in which machines periodically try to locate the parents of any remote computations; at which point orphaned processes are killed. Expiration is a technique where each process is allotted a certain amount of time to finish before being killed. If need be a process may "ask" for more time to finish before the allotted time expires. See also Zombie process Daemon process References "10.6.4 Orphaned Process Groups", The Process Model of Linux Application Development, by Erik W. Troan and Michael K. Johnson, Jul 8, 2005 Definition : An orphan process is running process whose parent process is terminated or finished. Process (computing)