my $tempSleepMilSec = ($tempSleepSec * 1000); # amt of time to wait Win32::Process::Create($spiderProc, 'k:\\...\\spider.exe', "", 0, DETACHED_PROCESS, ".") || die ("can't create process: $!"); if ($spiderProc->Wait($tempSleepMilSec)) { print ("finished fine"); } else { print ("too long - killing"); my $tempKill = $spiderProc->Kill(0); }