Bug#356389: perl-doc: kill documentation is contradictory
Niko Tyni
ntyni at debian.org
Tue Nov 9 12:25:49 UTC 2010
On Sat, Mar 11, 2006 at 05:32:28PM +0000, Roger Leigh wrote:
> Package: perl-doc
> Version: 5.8.8-2
> Severity: minor
>
> perlfunc states:
>
> 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.
This was changed for 5.12.0: the reference to System V was removed and this
paragraph was added:
The behavior of kill when a PROCESS number is zero or negative
depends on the operating system. For example, on POSIX-conforming
systems, zero will signal the current process group and -1 will signal
all processes.
> perlipc states:
>
> Sending a signal to a negative process ID means that you send the sig‐
> nal to the entire Unix process-group. This code sends a hang-up signal
> to all processes in the current process group (and sets $SIG{HUP} to
> IGNORE so it doesn’t kill itself)
>
> So it's not clear whether to kill a process group a negative signal, or
> a negative PID should be used.
Clearly the negative signal number is preferrable, and perlipc.pod should
be updated. A downside is that the example code becomes more convoluted:
kill has special support for resolving signal names to numbers but that
doesn't work for "negative names".
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list