const web = require('./src/web') const config = require('./src/config') const interval = require('./src/Interval') const robot = require('./src/robot') const {getRustConfig} = require("./src/config"); const {logger} = require("./src/utils/logger"); const {exec} = require("child_process"); try { // 开机前做一次,清除确保环境干净(删除可能遗留的as程序) robot.closeAppAll() // 配置环境 config.init() // 启动web web.init() // 定时任务 interval.init() } catch (e) { logger.error(e.stack) logger.error(e) } //node关机前的一些操作 // 当进程即将退出时执行一些操作 process.on('exit', (code) => { logger.info(`即将退出,退出码:${code}`); logger.error(`即将退出,退出码2:${code}`); // 在这里执行清理工作 }); // 监听SIGINT信号(例如用户按下Ctrl+C) process.on('SIGINT', () => { logger.info('收到SIGINT信号,准备退出...'); // 在这里执行清理工作 process.exit(); // 这将触发exit事件 }); // 监听SIGTERM信号(通常是系统请求进程终止) process.on('SIGTERM', async () => { logger.info('收到SIGTERM信号,准备退出...'); logger.error('收到SIGTERM信号,准备退出...2'); logger.info('关机前的一些操作...'); // 关机前为了防止 node 更新,需要吧map 里面的pid 写在本地文件 await robot.closeAppAll() logger.info('自我关闭~~...'); // 在这里执行清理工作 process.exit(); // 这将触发exit事件 }); // 还可以处理未捕获的异常 process.on('uncaughtException', (err) => { logger.error('捕获到未处理的异常:', err); logger.info('捕获到未处理的异常', err); // 在这里执行清理工作 process.exit(1); // 非零退出码表示异常退出 });