I broke the kill(0, $pid) behavior on Windows with change 29605 (the one implementing killpg()): http://public.activestate.com/cgi-bin/perlbrowse/p/29605 The problem is that OpenProcess() returns a HANDLE, but on error it returns NULL and not the usual INVALID_HANDLE_VALUE. I assume the reason for this is that at the kernel level, the INVALID_HANDLE_VALUE bit pattern is the same as the pseudo handle for the current process. The attached patch restores kill(0, $pid) behavior. Cheers, -JanThread Next