Я не могу захватить сигнал при работе в процессе child/background.
Вот мой простой bash script:
#!/bin/bash
echo "in child"
trap "got_signal" SIGINT
function got_signal {
echo "trapped"
exit 0
}
while [ true ]; do
sleep 2
done
При запуске этого и более поздних версий
kill -SIGINT (pid)
Все работает так, как ожидалось, оно печатает "в ловушке" и выходит.
Теперь, если я запускаю тот же script из родительского script следующим образом:
#!/bin/bash
echo "starting the child"
./child.sh &
Затем ребенок больше не захватывает сигнал....?
После перехода на использование SIGTERM вместо SIGINT, он работает правильно...?