在nodejs中执行了一个java进程,但是如何停止它呢
我想做一个管理仪表板,在那里我可以通过点击/启动路线开始我的模拟 通过点击/停止路线来停止,现在我可以开始模拟,但不能停止,所以我怎么做呢。 或者运行什么cmd以便找到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
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是未定义的,当我定义它时,它不会杀死它。