我在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应在启动后返回。
问题是,无论我尝试什么,当节点用批处理文件完成启动cmd时,cmd退出或者一切都很好(如上面的代码),但node.js中的进程永远不会返回。
任何想法可以做些什么?
干杯
和Thorsten