Windows shells have the
start command to launch stuff in a variety of ways. It's a bit of extra overhead because it now requires an extra layer of command interpreter.
For example, start /b turtle.exe will try to launch turtle.exe, and give you a success/fail result code. It will not wait for turtle.exe to finish, so any result code provided by turtle.exe is completely lost.
my $command = "turtle.exe";
if ($^O =~ /win/i)
{ $command = "start /b $command" }
else
{ $command = "$command &" }
my $ret = system($command);
However, there's no shell-accessible way of using Win32's
WaitForMultipleObjects() API, which is what you'd need to launch A, B and C, and wait for all three to complete.
--
[ e d @ h a l l e y . c c ]