|
@@ -358,6 +358,27 @@ async function closeAppAll() {
|
|
|
// });
|
|
|
// }
|
|
|
// });
|
|
|
+ //
|
|
|
+ // while (true) {
|
|
|
+ // var z = 0;
|
|
|
+ // await delay(1000)
|
|
|
+ // var str = "";
|
|
|
+ // appMap.forEach((value, key) => {
|
|
|
+ // str += "机器人:" + key + ",当前状态:" + value.threadStatus + "\t"
|
|
|
+ // if (value.threadStatus !== RobotStatus.STOPPED) {
|
|
|
+ // z += 1
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // logger.info(str)
|
|
|
+ // if (z === 0) {
|
|
|
+ // logger.info(`策略全部关闭~~开始关闭node`);
|
|
|
+ // break
|
|
|
+ // } else {
|
|
|
+ // logger.info(`等待关闭~~策略!`);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
execSync(`sudo kill $(pgrep -f "^.*\/4l_as_")`, (error, stdout, stderr) => {
|
|
|
if (error) {
|
|
|
logger.error(`全杀-进程${pid} 杀死失败: ${error}`);
|
|
@@ -365,31 +386,6 @@ async function closeAppAll() {
|
|
|
logger.info(`全杀-进程${pid} 杀死成功`);
|
|
|
});
|
|
|
|
|
|
- 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
|
|
|
- if (app.threadStatus === RobotStatus.STOP_PENDING) {
|
|
|
- robotStatus(app)
|
|
|
- }
|
|
|
-
|
|
|
- // 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)
|
|
|
- // });
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
while (true) {
|
|
|
var z = 0;
|
|
|
await delay(1000)
|
|
@@ -409,6 +405,7 @@ async function closeAppAll() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
return resolve(true)
|
|
|
})
|
|
|
/*******新的删除方式*************/
|