in reply to Failed Kills

For one, your kill statement is incomplete. kill() has a return value. It also sets $!. Use them:
kill 15, $pid or warn "Can't kill $pid: $!";
This will let you know what the problem is.