node.js-使用无限运行的进程启动cmd
我在windows的节点上有以下代码: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
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,我已经知道了这一点。使用启动
我已经测试过了,但不能像上面描述的那样正常工作。也许我还缺少什么。