In some cases (starting server processes, for instance) you'll want to
complete dissociate the child process from the parent. The following
process is reported to work on most Unixish systems. Non-Unix users should
check their Your_OS::Process module for other solutions.
-
Open /dev/tty and use the
TIOCNOTTY ioctl on it. See tty(4)
for details.
-
Change directory to /
-
Reopen
STDIN,
STDOUT, and
STDERR so they're not connected to the old tty.
-
Background yourself like this:
fork && exit;