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