node.js - 从 Node JS 在其自己的控制台窗口中打开 Windows child_process exec

标签 node.js windows exec child-process

我在 Windows 和 Node JS/Express 下,使用已安装的“child_process”模块。 我需要从 Node JS 启动可执行文件“c:\test\test.exe”——一个 Windows 控制台应用程序。
我可以启动非控制台应用程序,但控制台应用程序出现问题;
例如我尝试过简单的声明:

const childProcess = require('child_process');
..............    
childProcess.execFile(process.env.C_APP_EXEC_NAME);

它适用于“full_path\WINWORD.EXE”,但不适用于 c:\test\test.exe。
我想补充一点,我需要打开控制台,因为 test.exe 通过它与用户交互。 感谢您的帮助

最佳答案

您也可以使用spawn

const { spawn } = require('child_process');

const child = spawn('cmd.exe', ['/c', PATH_TO_EXE], { detached: true })

// Event handlers for the child process
child.on('data', (data) => {})
child.on('error', (error) => {})
child.on('close', (code) => {})

关于node.js - 从 Node JS 在其自己的控制台窗口中打开 Windows child_process exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330857/

相关文章:

node.js - 在子文档数组中使用 mongoose $inc

javascript - Javascript 对象中的 var 与 this

python - 为什么我的 'hello world' Python C 模块在除 IDLE 之外的所有情况下都能正常工作?

ruby - 在 Windows 上安装 Ruby gems 时出现 "certificate verify failed"错误

c - 在 fork 进程中调用 Execve 的问题

linux - bash/scp 如何展开 "remote"glob 模式?

node.js - Mongoose 文档中的索引

javascript - 异步函数返回 Promise <Pending>

windows - 无法连接到新创建的 Azure VM

java - 如何防止SIGINT信号杀死Java中的子进程