Я пишу программу и хочу перезагрузить файлы журнала, когда процесс получает сигнал SIGHUP от чего-то вроде logrotate. Вопрос в том, сколько времени может использовать приложение, прежде чем logrotate начнет сжимать повернутый файл журнала?
На странице руководства и во всех найденных мною ссылках просто указано, что приложение должно перезагрузить журналы «немедленно», но не говорит, если это должно быть сделано, например, за 1 мс или 1 секунду.
На всякий случай: вообще ничего.
Logrotate предполагает, что после завершения команды postrotate файл журнала больше не будет записываться. Есть два способа справиться с тем, что «закрытие файлов журнала может занять некоторое время»: параметр
delaycompress
откладывает этап сжатия до следующего вызова logrotate. Таким образом, это может занять столько времени, сколько потребуется для следующего запуска logrotate (хотя это было бы довольно плохой идеей). postrotate
.