您可以启动子进程,并在不需要时发送终止信号。
var spawn = require('child_process').spawn;
var child = spawn('java', ['params1', 'param2']);
要终止应用程序或模拟CTRL
+ C
,请发送信号:
// control + c is an interrupt signal
child.kill('SIGINT');
// or send from the main process
process.kill(child.pid, 'SIGINT');
如果要以分离的方式运行应用程序,则可能应该将PID写入某处。要运行分离的应用程序,请按以下方式运行它:
var fs = require('fs');
var out = fs.openSync('./out.log', 'a');
var err = fs.openSync('./out.log', 'a');
var child = spawn('java', [], {
detached: true,
stdio: [ 'ignore', out, err ]
});
child.unref();
这产生了一个子进程,其I / O流与父进程没有关联。