Process group を kill する
例えば
% perl -e 'system "sleep 1000"' | grep a | sort | uniq
で
% ps axo pid,pgid,command PID PGID COMMAND 26275 26275 -zsh 84326 84326 perl -e system "sleep 1000" 84327 84326 grep a 84328 84326 sort 84329 84326 uniq 84330 84326 sleep 1000
みたいになっているとき、group leader (PID=PGID) の 84326 をマイナスにした
% perl -e 'kill INT => -84326'
もしくは SIGNAL をマイナスにした
% perl -e 'kill -2 => 84326'
をするといい。
cf
perldoc -f kill
perldoc perlipc
- https://rt.perl.org/rt3//Public/Bug/Display.html?id=112990