В моем скрипте я перехватываю сигналы обычным способом.
function on_stop {
echo 'On Stop'
sleep 10
echo 'Signalling others to exit'
trap - TERM EXIT INT
kill -s INT "$$"
}
./executable_with_custom_signal_handling &
pid=$!
trap 'on_stop' TERM EXIT INT
wait
Если вместо ./executable_with_custom_signal_handling
используется sleep
, все работает как положено. В противном случае ./executable_with_custom_signal_handling
получает сигнал сразу параллельно с on_stop
.
Мне интересно, это как-то связано с пользовательской обработкой сигнала в исполняемом файле?
signal(SIGINT, handler)
Есть ли обходные пути известно?