Using double-fork instead of signal(SIGCHLD, SIG_IGN)