Señal de captura en el proceso de fondo secundario

No puedo atrapar una señal cuando se ejecuta en un proceso secundario / en segundo plano.

Aquí está mi script bash simple:

#!/bin/bash

echo "in child"

trap "got_signal" SIGINT

function got_signal {
  echo "trapped"
  exit 0
}

while [ true ]; do
    sleep 2
done

Cuando ejecute esto y luego haga

kill -SIGINT (pid)

Todo funciona como se esperaba, imprime 'atrapado' y sale.

Ahora, si comienzo el mismo script desde un script padre como este:

#!/bin/bash

echo "starting the child"

./child.sh &

¿Entonces el niño ya no atrapa la señal ...?

Después de cambiar para usar SIGTERM en lugar de SIGINT, parece estar funcionando correctamente ...?

Respuestas a la pregunta(2)

Su respuesta a la pregunta