如何杀死node.js中的child_process – req.on close

我试图杀死subprocess,当“requst.on('close'”被调用时,但是这个callback中的child.pid总是指向最近的请求。问题是:我怎么能匹配child.pid到请求? 谢谢

var query_script = "query.py" var express = require('express'); var app = express(); var spawn = require('child_process').spawn; app.get('/:version/query', function(request, response) { child = spawn('python, ['query.py', request.originalUrl]) console.log("start pid=" + child.pid + ": " + request.originalUrl) request.on('close', function () { console.log("1: current pid=" + child.pid) //child.kill('SIGTERM'); }) child.stdout.pipe(response) }); app.listen(3000); console.log('Listening on port 3000...'); 

通过将var放在它的前面来定义你的闭包中的child

 var child = spawn('python, ['query.py', request.originalUrl])