When a controlling process terminates, its terminal becomes free and a
new session can be established on it. (In fact, another user could log
in on the terminal.) This could cause a problem if any processes from
the old session are still trying to use that terminal.
To prevent problems, process groups that continue running even after the
session leader has terminated are marked as orphaned process
groups.
When a process group becomes an orphan, its processes are sent a
SIGHUP signal. Ordinarily, this causes the processes to
terminate. However, if a program ignores this signal or establishes a
handler for it (see Signal Handling), it can continue running as in
the orphan process group even after its controlling process terminates;
but it still cannot access the terminal any more.
Published under the terms of the GNU General Public License