someLoop { ... ... do stuff ... ... if(I *don't* have one and only one child proc running) { launch asynchronous child process } ... ... carry on doing stuff while child runs ... ... }