使用 PM2 和 child_process.exec 而不每次都打开新的命令提示

问题描述

async function test() {
    const shell = require("util").promisify(require("child_process").exec);

    const shellResult = await shell("node --version");
    console.log(shellResult);
}
test();

在我的程序中,我想做一些类似上面的函数。我使用 PM2 来启动我的程序。但是当涉及到这个功能时,PM2每次都会打开一个新的cmd.exe并在完成时关闭它,随着时间的推移会很烦人。

有没有办法做类似上面的功能,而不必每次都让 PM2 打开一个新的 cmd 提示?或者至少有一种方法可以在后台打开那些 cmd 提示

额外信息:

  • 节点版本:15.9.0
  • PM2 版本:4.5.4
  • 操作系统:Windows 10
  • 上面的函数可能运行得太快,所以很难判断 PM2 是否真的打开了一个新的 cmd.exe。如果你会做 await shell("git pull origin master") 或一些需要更长时间的事情,那么你实际上可以看到它的打开和关闭新的 cmd 提示
  • 我开始我的程序做 pm2 start
  • ecosystem.config.js 文件如下所示:

module.exports = {
  "apps": [{
    "script": "master.js","node_args": ["--inspect=10000"]
  }]
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)