Что происходит в Linux, когда программа (, которая может иметь несколько потоков ), получает сигнал, такой как SIGTERM или SIGHUP?
Какой поток перехватывает сигнал? Могут ли несколько потоков получить один и тот же сигнал? Есть ли специальный поток, полностью посвященный обработке сигналов? Если нет, что происходит внутри потока, который должен обрабатывать сигнал? Как возобновляется выполнение после завершения процедуры обработчика сигнала?