in reply to Independent Worker Process

Modules like Parallel::ForkManager are very handy for this kind of needs-to-be-portable logic. If the two processes are intended to be children of the parent, the parent will have to wait for both of them to finish, because the children will be reaped when it does finish. Consider using the daemon/service facilities that are available (differently ...) in each environment, as an alternative to spawning them as children of an otherwise do-nothing parent., and especially if the children are intended to be long-lived.