Process.kill 0 in windows can return spurious success
a = IO.popen('ls "."', 'w')
Process.kill 0, 2104
=> 1 # should raise an exception since that process is dead now, shouldn't it? [it can be checked with GetExitCodeProcess != STILL_ACTIVE) ?
#1 [ruby-core:47720] Updated by Roger Pack about 4 years ago
I see that the current way in windows somewhat mimic's how it operates in Unix (process is a zombie, so still responds to signals). If so, perhaps it would be nice to create a new method
that would be useful in certain cases, like checking if a process is dead before closing streams to it.
So maybe change this to a feature request, if anybody can confirm the above.