如何在运行时更改 syslog 守护程序的日志路径?我的目标是轮换每个文件大小或日期的日志文件,但我在 QNX/POSIX 中没有 logrotate。
我只是进行编辑并希望 syslogd 每次都检查 .conf 文件,还是有其他解决方法?谢谢。
澄清:对于可移植性问题,它必须在 C 或 C++ 中完成,而不是在脚本和控制台命令行中完成。
找到 syslogd 的 pid。假设它是 123。然后,在您完成编辑后,在命令行上键入以下之一:
kill -HUP 123
kill -1 123
答案基于在网上找到的一些解决方案,也基于@bills 答案,经过修改以适应 QNX 环境。
执行系统调用slay syslogd
并再次执行编辑syslog.conf
和系统调用syslogd
。
QNX 不提供 logrotate,否则除了上述答案之外,安装第三方日志记录是另一种解决方法,尽管不符合我的目的。
更新:经过一番挖掘,QNXslogger
在 Neutrino OS 中提供了一个替代方案。我将投票赞成这个答案,因为它适合 QNX 系统
在我看来,将newsyslog移植到您的平台是最好的帮助。