Quando um processo é eliminado, o sinal que o matou é codificado no status de saída recuperado pelo pai (ou subagente filho ou init para órfãos).
Em bash , $? é 128 + signum.
Isso é o que a maioria das shells parecidas com Bourne faz, ksh93 usa 256 + signum, yash 384 + signum.
$? sendo 129 in bash significa que o processo foi eliminado pelo sinal 1 (SIGHUP) ou que fez exit(129) . No entanto, se fizesse um exit(129) , o mais provável seria relatar uma morte por parte do SIGHUP de algum processo.
Para obter o nome do sinal do valor de $? , execute:
kill -l "$?"
Isso funciona em todas as shells parecidas com Bourne, quer usem 128/256/384 + signum.
Veja detalhes em Código de saída padrão quando o processo é encerrado?