2012-04-17 2 views
0

Я программировал в C делать системные вызовы, и мне было интересно следующее:связь процесса с сигналами

Что пример того, где вы хотели бы процесс игнорировать сигналы тревоги, скажем, если сигнал был отправлен из-за потерянного пакета в процессах внутри сети?

ответ

0

Многие важные демоны очень разборчивы относительно сигналов, на которые они будут реагировать; они часто устанавливают обработчик для SIGHUP, чтобы перечитать их конфигурационный файл, использовать один из SIGUSR1 или SIGUSR2, чтобы указать на необходимость закрытия и повторного открытия их лог-файлов для логарифмирования и обработки SIGINT, SIGQUIT, SIGTERM и т. д. каким-то грациозным способом.

Все остальное следует игнорировать, чтобы случайные сигналы не вызывали у программы смешные вещи. Сигналы, которые являются частью интерфейса программы, должны работать точно так, как было разработано, - а другие сигналы должны делать как можно меньше вреда.