
做工业现场、产线工位开发的朋友,应该都懂这种无力感: 好好的无人值守工位、数据采集站、自动检测设备,白天跑着一切正常,结果第二天上班一看,程序界面卡死在那儿,或者进程早就没了,一晚上的数据没存、产线停了半宿,追责都不知道找谁。
很多人对付程序崩溃,就是随手写个批处理,循环判断进程名,不在就启动。说实话,这种方案只能对付“程序直接闪退、进程彻底退出”的初级崩溃,真遇到内存泄漏假死、UI线程卡死、进程活着但业务停摆的情况,完全就是摆设。更坑的是有时候程序崩了又启、启了又崩,无限循环,最后把系统资源耗光,连远程桌面都连不上。
这几年做过十几条产线的无人值守改造,从最简单的打标工位到整线的视觉检测站,踩遍了各种重启方案的坑,最终沉淀出一套四层兜底的自动重启体系。从最基础的进程监控,到业务级心跳检测,再到系统级服务兜底,最后加上异常熔断告警,不仅能做到崩溃自动重启,还能区分崩溃类型、保留现场、避免无限死循环。
整体架构:四层兜底,从进程到系统全覆盖
先上一张完整的方案架构图,从下到上逐层防护,越底层越基础,越上层越接近业务,最终靠策略层避免恶性循环。 
整个方案的设计原则很明确:底层解决“有没有”的问题,上层解决“好不好用”的问题,策



