Вы указали в комментариях, что причиной этого является то, что пользователю разрешено удалять файл журнала, и в этом случае вы хотите, чтобы приложение начало записывать новый файл вместо него.
Традиционный механизм UNIX для этого состоит в том, чтобы ваша программа установила обработчик сигнала (часто для SIGHUP
, поскольку в противном случае для демона это не имеет смысла).Обработчик сигнала содержит код для закрытия программы и повторного открытия файла журнала.
Затем пользователю сообщают, что после удаления файла журнала ему необходимо отправить SIGHUP
программе.