Изменение пути к журналу системного журнала

2

Как изменить путь журнала демона syslog во время выполнения? Моя цель - повернуть файл журнала каждый файл или дату, но у меня нет logrotate в QNX/POSIX.

Я просто делаю редактирование и надеюсь, что syslogd проверяет файл .conf каждый раз, или есть ли какое-либо другое обходное решение? Спасибо.

Уточнение: это должно быть сделано на C или С++, а не в script и в командной строке консоли, для проблем с переносимостью.

Теги:
posix
qnx

3 ответа

1
Лучший ответ

Ответ основан на некотором решении, найденном в Интернете, а также на основе ответа @bills, измененном в соответствии с окружением QNX.

Выполните системный вызов slay syslogd и снова отредактируйте syslog.conf и системный вызов syslogd.

QNX не предоставляет logrotate, иначе отличный от приведенного выше ответа, установка стороннего протокола - это еще один способ обхода, хотя и не соответствует моей цели.

update. После некоторого копания QNX предоставляет альтернативу под названием slogger в операционной системе Neutrino. Я буду голосовать за это как ответ, поскольку он обслуживает систему QNX.

  • 2
    Поскольку вы новичок, вот несколько советов: оцените ответ Билла - он привел вас к решению. По желанию - рассмотрите возможность принятия его ответа и внесения деталей вашего решения в качестве РЕДАКТИРОВАТЬ в самом ответе. (это может быть субъективное мнение). И наконец, если вы ссылаетесь на другие решения в Интернете, сделайте ссылку на них. (Вся эта напыщенная речь не критика, только указатели ...)
  • 1
    Хорошо, точка взята
2

Найдите pid syslogd. Скажем 123. Затем, после того, как вы закончили редактирование, в командной строке введите один из них:

kill -HUP 123
kill -1 123
  • 0
    Спасибо, но я ищу что-то, что может быть выполнено внутри моего кода во время выполнения
  • 0
    Вы можете использовать системный вызов kill(2) или использовать system(3) . Нет способа отправить этот сигнал в syslogd или перезапустить его.
Показать ещё 3 комментария
0

Мне кажется, вам лучше всего поправить newsyslog на вашу платформу.

  • 0
    Большое спасибо, но опять же, ищу решение, которое выполняет внутри кода. Извините, если я не уточнил четко раньше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню