Para que um trabalho não interativo responda ao SIGINT, você precisa criar um manipulador para o SIGINT:
$ ( (trap "echo Got SigInt" SIGINT; sleep 60) & ) &
[1] 13619
$
[1]+ Done ( ( trap "echo Got SigInt" SIGINT; sleep 60 ) & )
$ ps -o pid,pgid,args
PID PGID COMMAND
11972 11972 bash
13620 13619 bash
13621 13619 sleep 60
13622 13622 ps -o pid,pgid,args
$ kill -INT 13620
$ kill -INT 13621
$ Got SigInt
Enviando SIGINT para o processo de suspensão
Como Stéphane Chazelas sugere nos comentários, se o objetivo é retornar ao comportamento padrão do SIGINT, podemos usar apenas trap - SIGINT
. Por exemplo:
$ ( (trap - SIGINT; sleep 60) & ) &
[1] 16690
$ ps -o pid,pgid,args
PID PGID COMMAND
11972 11972 bash
16691 16690 bash
16692 16690 sleep 60
16693 16693 ps -o pid,pgid,args
[1]+ Done ( ( trap - SIGINT; sleep 60 ) & )
$ kill -INT 16692
$ ps -o pid,pgid,args
PID PGID COMMAND
11972 11972 bash
16698 16698 ps -o pid,pgid,args