В теории можно вообразить службу, которая сохранит текущее состояние, перечитает конфигурацию, восстановит состояние, решит, что в нем надо исправить, чтобы оно соответствовало новым настройкам (условно говоря, какие соединения стоит оборвать, а какие могут продолжать работать), и продолжит работать как ни в чем не бывало. Делать это через "прибить процесс-изменить конфиг-запустить процесс" раньше было невозможно потому, что сетевые соединения на первом шаге умирают.Другое дело, что это действительно нахрен не надо: если вы умеете корректно накатывать новые настройки, так обрабатывайте SIGHUP. Опять же, SIGSTOP/SIGCONT - любая сетевая программа умеет обрабатывать внезапный обрыв соединения, это не проблема. Задержки из-за переподключений? Так большинство протоколов устроено так, что при резком изменении настроек одной из сторон протокол следует прервать и начать заново. Рядом в комментариях кто-то вообще шутил насчет восстановления *упавшего* сервиса, но это уж совсем — вы его восстановите (точнее, состояние из последнего снапшота), а он тут же опять упадет по той же самой причине. Ну и понту?
|