在nodejs中执行了一个java进程,但是如何停止它呢

在nodejs中执行了一个java进程,但是如何停止它呢,java,node.js,command-line,child-process,Java,Node.js,Command Line,Child Process,我想做一个管理仪表板,在那里我可以通过点击/启动路线开始我的模拟 通过点击/停止路线来停止,现在我可以开始模拟,但不能停止,所以我怎么做呢。 或者运行什么cmd以便找到java进程并停止它 router.get('/start',function(req, res, next){ // res.send("start"); var exec = require('child_process').exec; var child = exec('cd

我想做一个管理仪表板,在那里我可以通过点击/启动路线开始我的模拟 通过点击/停止路线来停止,现在我可以开始模拟,但不能停止,所以我怎么做呢。 或者运行什么cmd以便找到java进程并停止它

router.get('/start',function(req, res, next){
        // res.send("start");
        var exec = require('child_process').exec; 
        var child = exec('cd ../Simulation && java -jar Simulation.jar',function (error, stdout, stderr){ 
        console.log('Output -> ' + stdout);
        res.render('user/admin',{
                title:'Account'
            });
        if(error !== null){
            console.log("Error -> "+error); 
            res.send("error occured");
            } 
        });
        res.render('user/admin',{
            title:'Account'
        });
        module.exports = child; 
    });

    router.get('/stop',function(req, res, next){
        var exec = require('child_process').exec; 
        var child = exec('',function (error, stdout, stderr){ 
        console.log('Output -> ' + stdout); 
        if(error !== null){
            console.log("Error -> "+error); } 
        });
        module.exports = child;     
    });
我把这个空的

var child = exec('',function (error, stdout, stderr){ 
您可以使用
kill()
方法:

exec.kill()

我想这可能取决于平台。你在使用Linux吗?在这种情况下,它看起来像是我在aws服务器上使用Linux的一个副本,它是不同的,因为在这个问题中,child是全局存储的,但因为我想在路由中使用它,所以如果我关闭浏览器,然后尝试转到/停止,它会给出child是未定义的,当我定义它时,它不会杀死它。