【发布时间】:2017-06-20 20:12:21
【问题描述】:
通常我使用节点将一些服务器消息记录到本地文件中,但有时文件太大,所以我会通过 logroate 工具定期归档这个大文件(等:将 linz.log 移动到 linz-2017- 06-19.log,现在linz.log文件是空的,但是有时候node还是会把数据写入linz-2017-06-19.log,我猜,可能是linz.log描述符没变)
【问题讨论】:
-
这是XY problem。应该详细解释并询问真正的问题 - 将数据写入错误的文件。
-
@kaylum 确实。解决真正的问题——不要编写更多代码来隐藏症状。除非你喜欢不能很好地工作的、复杂的、不可维护的系统。仅仅因为您知道如何编写代码并不意味着您应该通过向其扔更多代码来解决每个问题。通知守护进程需要切换到新日志文件的标准方法是向进程发送
SIGHUP。希望您不是通过重定向stdout或stderr来登录。如果你是,你就知道为什么这是一个糟糕的想法。 -
请出示您的代码。缺乏代码正在从事物的问题方面和事物的答案方面产生混乱。相关,请参阅服务器故障上的Tool or script to detect moved or renamed files on Linux prior to a backup。