Seu shell é quase certamente zsh
, e você provavelmente tem kill
definido como um alias ou uma função (verifique com type kill
).
Mas ainda não consigo reproduzir seu caso:
zsh$ kill -l 30
PWR
zsh$ kill -l 31
SYS
zsh$ kill -l 32
32
zsh$ kill -l -96
32
32
é o índice de "ZERR"
na tabela de nomes de sinais de zsh
, mas, como visto, (pelo menos no meu sistema) está corretamente fixado ao número de sinal máximo ( 31
).
Atualize sua pergunta com a versão do seu zsh
( echo $ZSH_VERSION $ZSH_PATCHLEVEL
) e do seu sistema operacional ( uname -a
). Eu acho que foi uma daquelas correções ruins que apodrecem nas portas de distribuição ("correções" rápidas não vetadas pelos desenvolvedores upstream).
Atualização:
Tente instalar o pacote zsh
do hábil repositório (versão 5.2.5) ou recompilar uma versão recente do zsh
da fonte.
O problema foi realmente causado por um bug em versões anteriores de zsh
- os linemarks gerados por gcc
/ cpp
(as linhas # lnum_of_definition "header.h" 3 4
adicionadas antes das expansões de macros definidas nos cabeçalhos do sistema), estavam confundindo o script signames2.awk
usado para gerar a lista de sinais e números . Observe que, em vez de corrigir esse script, eles simplesmente impediram a geração de marcadores de linha com a opção -P
de cpp
na versão recente de zsh
.
Veja aqui . Graças a @ Stéphane Chazelas pela dica - eu olhei para esses scripts de awk
, mas minha falta de talento me fez não considerá-los como culpados, uma vez que eles não foram alterados em eras.