> Sending signal 0 is a standard Unix idiom for testing for the existence of the target process (failure => ESRCH) and/or the capability to send a signal to the process (failure => EPERM). It never actually delivers a signal to the target process.

Interesting.  It also behaves this way in windows.
-r