Verifique o status de saída do comando. Se o comando foi finalizado por um sinal, o código de saída será 128 + o número do sinal. Na documentação on-line do GNU para bash :
Para os propósitos do shell, um comando que sai com um status de saída zero foi bem-sucedido. Um status de saída diferente de zero indica falha. Esse esquema aparentemente contra-intuitivo é usado para que haja uma maneira bem definida de indicar sucesso e várias maneiras de indicar vários modos de falha. Quando um comando termina em um sinal fatal cujo número é N, Bash usa o valor 128 + N como status de saída.
O POSIX também especifica que o valor de um comando finalizado por um sinal é maior que 128, mas não parece especificar seu valor exato como o GNU:
O status de saída de um comando que terminou porque recebeu um sinal deve ser relatado como superior a 128.
Por exemplo, se você interromper um comando com o controle-C, o código de saída será 130, porque SIGINT é o sinal 2 nos sistemas Unix. Assim:
while [ 1 ]; do COMMAND; test $? -gt 128 && break; done