| 
														
															@@ -90,18 +90,12 @@ async function run(param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //系统不同 做不同的路径处理 
														 | 
														
														 | 
														
															             //系统不同 做不同的路径处理 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         const platform = process.platform; 
														 | 
														
														 | 
														
															         const platform = process.platform; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         let exeName = newAppName;           //可执行程序 
														 | 
														
														 | 
														
															         let exeName = newAppName;           //可执行程序 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // let configName = "config.toml";        //配置文件 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         let configName = "config.json";        //配置文件 
														 | 
														
														 | 
														
															         let configName = "config.json";        //配置文件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         let appPath = ""; 
														 | 
														
														 | 
														
															         let appPath = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //相对路径存放 
														 | 
														
														 | 
														
															         //相对路径存放 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         appPath = config.filePath + "/" + app.id + "/" + strategyName + "/" + programName 
														 | 
														
														 | 
														
															         appPath = config.filePath + "/" + app.id + "/" + strategyName + "/" + programName 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //1. 检查目录 
														 | 
														
														 | 
														
															         //1. 检查目录 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         file.checkPathSync(appPath); 
														 | 
														
														 | 
														
															         file.checkPathSync(appPath); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // if (platform === 'win32') {//直接运行相对路径 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //     appPath = config.winPath + "/" + app.id 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // } else {//打包为docker 镜像 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //     appPath = config.linuxPath + "/" + app.id 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /**** 
														 | 
														
														 | 
														
															         /**** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															          *** 第三步:rust 启动程序检查(下载更新) 
														 | 
														
														 | 
														
															          *** 第三步:rust 启动程序检查(下载更新) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -289,7 +283,6 @@ function delay(ms) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 async function closeApp(param) { 
														 | 
														
														 | 
														
															 async function closeApp(param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return new Promise((resolve, reject) => { 
														 | 
														
														 | 
														
															     return new Promise((resolve, reject) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var key = param.id 
														 | 
														
														 | 
														
															         var key = param.id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var app = getApp(key) 
														 | 
														
														 | 
														
															         var app = getApp(key) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         logger.info(` 信号:  `, app.threadStatus); 
														 | 
														
														 | 
														
															         logger.info(` 信号:  `, app.threadStatus); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -345,27 +338,37 @@ async function closeAppAll() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var appMap = getAppMap() 
														 | 
														
														 | 
														
															         var appMap = getAppMap() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // console.log(appMap.size); // 输出Map的大小 
														 | 
														
														 | 
														
															         // console.log(appMap.size); // 输出Map的大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        appMap.forEach((value, key) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            console.log(key, value); // 输出Map的键值对 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            // logger.info("???", key, value) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            var app = value 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            logger.info(` 信号:  `, app.threadStatus); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            /*******新的删除方式*************/ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            //文件授权 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (app.childProcess !== undefined) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var pid = app.childProcess.pid 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                exec(`sudo kill ${pid}`, (error, stdout, stderr) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if (error) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        logger.error(`进程${pid} 杀死失败: ${error}`); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    logger.info(`进程${pid} 杀死成功`); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    // logger.info(`当前app:`, app); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    app.threadStatus = RobotStatus.STOP_PENDING 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    robotStatus(app) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // appMap.forEach((value, key) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     console.log(key, value); // 输出Map的键值对 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     // logger.info("???", key, value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     var app = value 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     logger.info(` 信号:  `, app.threadStatus); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     /*******新的删除方式*************/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     //文件授权 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     if (app.childProcess !== undefined) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //         var pid = app.childProcess.pid 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //         exec(`sudo kill ${pid}`, (error, stdout, stderr) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             if (error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //                 logger.error(`进程${pid} 杀死失败: ${error}`); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             logger.info(`进程${pid} 杀死成功`); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             // logger.info(`当前app:`, app); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             app.threadStatus = RobotStatus.STOP_PENDING 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //             robotStatus(app) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        exec(`sudo kill $(pgrep -f "^\.\/rust\/.*\/4l_as_")`, (error, stdout, stderr) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                logger.error(`进程${pid} 杀死失败: ${error}`); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            logger.info(`进程${pid} 杀死成功`); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // logger.info(`当前app:`, app); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            app.threadStatus = RobotStatus.STOP_PENDING 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            robotStatus(app) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); 
														 | 
														
														 | 
														
															         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         while (true) { 
														 | 
														
														 | 
														
															         while (true) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var z = 0; 
														 | 
														
														 | 
														
															             var z = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             await delay(1000) 
														 | 
														
														 | 
														
															             await delay(1000) 
														 |