簡體   English   中英

使用 PM2 和 child_process.exec 而無需每次都打開新的命令提示符

[英]Using PM2 and child_process.exec without opening new command prompts everytime

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

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

在我的程序中,我想做一些類似於上面的 function 的事情。 我使用 PM2 來啟動我的程序。 但是當涉及到這個 function 時,PM2 每次都會打開一個新的 cmd.exe 並在完成后將其關閉,隨着時間的推移會變得很煩人。

有沒有辦法做類似上面的 function 的事情,而不必讓 PM2 每次都打開一個新的 cmd 提示? 或者至少有辦法在后台打開那些 cmd 提示?

額外的信息:

  • 節點版本:15.9.0
  • PM2版本:4.5.4
  • 操作系統:Windows 10
  • 上面的function可能跑得太快了,所以很難判斷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"] }] };

async function test() { const shell = require("util").promisify(require("child_process").exec(cmd,{windowsHide:true}); const shellResult = await shell("node --version"); console.log(shellResult); } test();

您可以使用 windowsHide: true Boolean 來解決這個問題。

參考鏈接: https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM