daemonization via fork()/daemon() is deprecated in macos x, should use launchd
propagate nullptr