Nyilván eretnekség itt ilyet írni, de (csak (*)) Linux alatt van egy daemon() hívás, amivel az egészet le lehet zavarni jóval egyszerűbben:
http://man7.org/linux/man-pages/man3/daemon.3.html
Inkább csak a teljesség igénye miatt. :)
*: bocs, megnéztem a man oldalt, és úgy látom van BSD alatt is :)