bash
também tem a capacidade de capturar o SIGINT . Seria possível interceptar o sinal para que o script não morra e, em seguida, no manipulador de traps, use kill
para passar o sinal para o seu aplicativo.
Eu tenho um aplicativo Linux, escrito em C ++, que intercepta a interrupção SIGINT para fazer uma limpeza final antes de sair. Eu chamo este aplicativo dentro de um script bash. Agora, quando eu digito control-C com o script bash em execução no primeiro plano, o script termina, assim como o programa que ele invoca, mas sem executar o código de limpeza final. Como posso fazer com que a interrupção passe pelo script bash, diretamente para o aplicativo, resultando na limpeza final e depois em uma saída normal que faz com que o próprio script saia?
bash
também tem a capacidade de capturar o SIGINT . Seria possível interceptar o sinal para que o script não morra e, em seguida, no manipulador de traps, use kill
para passar o sinal para o seu aplicativo.
#somecommand has to be a unique substring of the command being run
trap "kill -3 %?somecommand" sigint
somecommand&
wait %?somecommand