If SIGNAL is zero, no signal is sent to the process. This is a
useful way to check that the process is alive and hasn't changed
its UID. See perlport for notes on the portability of this
construct.

Unlike in the shell, if SIGNAL is negative, it kills
process groups instead of processes. (On System V, a negative PROCESS
number will also kill process groups, but that's not portable.) That
means you usually want to use positive not negative signals. You may also
use a signal name in quotes. See Signals in perlipc for details.