上星期用 fs.watch 和 readline.createInterface 对pm2的合并日志做了监控,根据指定的错误信息重启服务
发现不管是手动vim编辑日志,还是等待日志自动输出。
fs.watch回调函数只执行了一次,触发事件依次是:“rename”->"change"-"rename"
查了一天原因结论是:一开始以为rename是执行mv命令,最后生成了新的日志文件,虽然文件名还是一样但是fs.watch断开了监控
但是本地mac实验以后还是有监控没有任何问题。
最后查了文档和外国人的讨论,估计是fs.watch这个接口不稳定有bug
然后用了node-watch这个包,完美解决!
原文:https://www.cnblogs.com/papi/p/10132982.html