Pode ser que você seja vítima de um problema bash
bem conhecido que atinge com frequência make
usuários.
Eu ainda não verifiquei o bash 4, mas bash 3
incorretamente faz o jobcontrol dentro dos scripts. Isso geralmente faz com que os makefiles que contêm um loop sobre vários subdiretórios não sejam facilmente eliminados por ^C
, porque os subprocessos são executados em grupos de processos separados, mesmo que esses comandos não sejam interativos.
smake
inclui uma solução alternativa para /bin/sh
sendo bash
e encaminha explicitamente SIGINT para o grupo procress do comando atualmente em execução. Mas este é um software escrito em C
.
O mesmo não pode ser implementado com shells usuais em scripts, pois não há um comando UNIX padrão para recuperar o grupo de processos de um filho.