如何使用Node.js子进程在后台运行命令提示符?

时间:2019-07-12 05:39:43

标签: node.js cmd child-process

单击按钮后,我可以使用Node.js子进程打开命令提示符。

var child_process = require('child_process');

 let command = `start cmd.exe /K "cd /D c:/Users && java"`

 let process = child_process.spawn(command, [], { shell: true }) //use `shell` option

使用上述代码,我可以打开命令提示符并在指定位置运行Java命令。

现在我的问题是如何在不打开命令提示符(cmd)的情况下在后台执行相同的过程?

1 个答案:

答案 0 :(得分:1)

Spawn具有cwd(当前工作目录)选项,您可以通过该选项打开该过程。

var child_process = require('child_process');

let bin = 'java';
let cliArgs= ['-version'];
let options = {
  spawn: true,
  cwd: 'c:/Users'
}

let command = child_process.spawn(bin, cliArgs, options ) //use `shell` option

command.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

command.stderr.on('data', (data) => {
  console.log(`stderr: ${data}`);
});

command.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});