^C gera um sinal de interrupção ( SIGINT ). É permitido que os programas mascarem esse sinal e o ignorem completamente ou "reajam" a ele de maneira não fatal.
Por exemplo - você pode querer que um programa pare o que está fazendo agora, mas sem terminar completamente.
Portanto, ^C nem sempre funciona.
^Z para interromper o trabalho e, em seguida, kill %1 (onde% 1 é o número na lista jobs ) enviará um sinal de finalização ( SIGTERM ), o que deverá resolver o problema.