方法是,透過 fork() child process,以 setsid() 讓 child process 成為 process leader,有自己的 process group,
parent process 單純結束,下面是 vsf_sysutil_make_session_leader()
vsftpd-2.0.3/sysutil.c
2463
2464 void
2465 vsf_sysutil_make_session_leader(void)
2466 {
2467 /* This makes us the leader if we are not already */
2468 (void) setsid();
2469 /* Check we're the leader */
2470 if (getpid() != getpgrp())
2471 {
2472 die("not session leader");
2473 }
2474 }
2475