node.js-使用无限运行的进程启动cmd

node.js-使用无限运行的进程启动cmd,node.js,windows,cmd,spawn,Node.js,Windows,Cmd,Spawn,我在windows的节点上有以下代码: var spawn = require('child_process').spawn, out = fs.openSync('./out.log', 'a'), err = fs.openSync('./out.log', 'a'); spawn('cmd', [ '/c', 'start', '""', __dirname + tstDir + 'bin/test.bat', 'agent', ' -f ', configurati

我在windows的节点上有以下代码:

var spawn = require('child_process').spawn,
    out = fs.openSync('./out.log', 'a'),
    err = fs.openSync('./out.log', 'a');

spawn('cmd', [ '/c', 'start', '""', __dirname + tstDir  +  'bin/test.bat', 'agent', ' -f ', configuration.path2lgst + 'test.conf' ], {
   stdio: [ 'ignore', out, err ], // piping stdout and stderr to out.log
   detached: true
}).unref();
一般来说,我想启动一个cmd,它执行一个.bat文件,该文件以内联方式运行一个进程。node.js应在启动后返回

问题是,无论我怎么做,要么在node用批处理文件启动cmd后cmd退出,要么一切正常(如上面的代码),但node.js中的进程永远不会返回

有什么办法吗

干杯


Thorsten

如果是Linux,只需使用
nohup
&
,它将在后台运行该命令,但对于Windows,我看到了另一种选择
start
,如果它适合您,您可以进行更多调查!对于Linux,我已经知道了这一点。使用
启动
我已经测试过了,但不能像上面描述的那样正常工作。也许我仍然缺少一些东西。如果是Linux,只需使用
nohup
&
,它将在后台运行该命令,但是,对于Windows,我看到了另一种选择
start
,如果它适合您,您可以进行更多调查!对于Linux,我已经知道了这一点。使用
启动
我已经测试过了,但不能像上面描述的那样正常工作。也许我还缺少什么。