O que acontecerá é:
- seu terminal enviará o sinal
SIGINT
(interrupção) - seu processo interceptará o sinal e transmitirá seu valor numérico
2
à sua funçãocatch
, que imprimiráSignal 2 caught
- tendo interceptado e processado o sinal, o programa continuará com o loop principal de impressão / suspensão
Por exemplo
sleep 0 ....
sleep 1 ....
sleep 2 ....
sleep 3 ....
sleep 4 ....
^CSignal 2 caught
sleep 5 ....
sleep 6 ....
sleep 7 ....
Você poderá matar o programa enviando um sinal SIGKILL
, por exemplo, suspendendo o processo usando Ctrl Z e, em seguida, digitando pkill myprog
(onde myprog
é o nome da sua versão executável compilada do código).
The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.
Veja man 7 signal
para mais informações sobre sinais e manuseio de sinais.