繁体   English   中英

如何在node.js中杀死child_process —要求关闭

[英]How to kill child_process in node.js — req.on close

我试图在调用“ requst.on('close'”时终止子进程。但是此回调中的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])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM