我正在使用 NodeJS 将条形码扫描仪连接到 Web 前端。条码扫描器的串口通过 USB 转串口转换器运行到 PC (Windows7 pro x64)。我正在使用node-serialport。此设置在博物馆的安装中运行。
计算机每天都会重新启动,有时条码扫描器会整天正常工作,但大约 25% 的时间会在一天中停止工作。随着停止工作,我的意思是 NodeJS 不再中继传入的串行流。条形码扫描仪本身似乎运行良好,它仍然会发出愉快的哔哔声,重新启动后它会正常运行......直到 NodeJS 再次停止工作。
当扫描仪停止工作时,NodeJS 窗口不会显示任何错误代码,但到那时它完全没有响应。到那时,关闭 NodeJS 实例似乎是不可能的。我试过 Ctrl-C,通过任务管理器结束进程并使用 taskkill 从 CMD 窗口中杀死 NodeJS 的 PID。它们都具有零效应。使用 Taskkill 时,CMD 窗口会很高兴地说进程已被杀死,但 NodeJS 窗口不会关闭,并且仍然存在于任务管理器中。只有强制重启才能“解决”这个问题。
我觉得我没有太多的信息可以继续。我很想知道接下来要尝试什么的一些提示。