首页 > 解决方案 > 如何使用 Node.js 子进程在后台运行命令提示符?

问题描述

单击按钮时,我可以使用 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)的情况下在后台执行相同的过程?

标签: node.jscmdchild-process

解决方案


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}`);
});

推荐阅读