Dear Maintainer, According to the man page for kill it should parse any argument after `--` as pid|name, however running /bin/kill -- -4 displays the usage output, as it parses the -4 as a signal number, and is missing a PID argument. This may occur when attempting to kill a process group inside a container, e.g., unshare -Ufp setsid -w sleep 30 & /bin/kill -- -$! I would expect this to kill the group with the sleep process, but this displays the usage output. Instead, running /bin/kill -- -TERM -$! works as you would expect. This issue does not occur if the PGID is above 93, since that is no longer interpreted as a signal. This does not seem related to the patch handling negative PIDs before the `--` occurs.
Hi, this sounds like this upstream bug: https://gitlab.com/procps-ng/procps/-/work_items/437 I think this upstream commit may have broken it: ac89d63c I used to run: $ /bin/kill --signal INT -- "-$pgid" And for now, as a workaround, I am now running: $ /bin/kill -INT "-$pgid" What I originally had used two well-known conventions when passing options to CLI tools: * long option names (for readability) with option arguments instead of long options starting with a single dash-only. * separating positional from non-positional arguments with a double-dash to avoid interpreting positional options starting with a dash as non-positional This interface used to work before ac89d63c, so I'd call this a regression. Reading the commit message it was probably not intentional? Thanks! cheers, josch