|
@@ -90,18 +90,12 @@ async function run(param) {
|
|
|
//系统不同 做不同的路径处理
|
|
|
const platform = process.platform;
|
|
|
let exeName = newAppName; //可执行程序
|
|
|
- // let configName = "config.toml"; //配置文件
|
|
|
let configName = "config.json"; //配置文件
|
|
|
let appPath = "";
|
|
|
//相对路径存放
|
|
|
appPath = config.filePath + "/" + app.id + "/" + strategyName + "/" + programName
|
|
|
//1. 检查目录
|
|
|
file.checkPathSync(appPath);
|
|
|
- // if (platform === 'win32') {//直接运行相对路径
|
|
|
- // appPath = config.winPath + "/" + app.id
|
|
|
- // } else {//打包为docker 镜像
|
|
|
- // appPath = config.linuxPath + "/" + app.id
|
|
|
- // }
|
|
|
|
|
|
/****
|
|
|
*** 第三步:rust 启动程序检查(下载更新)
|
|
@@ -289,7 +283,6 @@ function delay(ms) {
|
|
|
|
|
|
async function closeApp(param) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
-
|
|
|
var key = param.id
|
|
|
var app = getApp(key)
|
|
|
logger.info(` 信号: `, app.threadStatus);
|
|
@@ -345,27 +338,37 @@ async function closeAppAll() {
|
|
|
|
|
|
var appMap = getAppMap()
|
|
|
// 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) {
|
|
|
var z = 0;
|
|
|
await delay(1000)
|