no need to duplicate the waitpid, it won't block