2017-07-13 1 views
0

Ich möchte ein Admin-Dashboard machen, wo ich meine Simulation starten kann durch einen Klick auf/Route starten und stoppen Sie es mit einem Klick auf/Stop Route jetzt kann ich Starten Sie die Simulation, aber stoppen Sie es nicht, also wie kann ich es tun. oder was cmd zu laufen, so dass es den Java-Prozess finden und stoppen kann?Führte einen Java-Prozess in Nodejs aber wie man es stoppt

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;  
    }); 

verließ ich dieses cmd leer

var child = exec('',function (error, stdout, stderr){ 
+0

Ich würde vermuten, dies wahrscheinlich plattformabhängig ist. Verwenden Sie Linux? In diesem Fall sieht es aus wie ein Duplikat von [diese Frage] (https://stackoverflow.com/questions/18694684/spawn-and-kill-a-process-in-node-js) – Michael

+0

Ich benutze Linux auf aws Server und es ist anders, weil in dieser Frage Kind global gespeichert ist, sondern weil ich das so in Routen will, aber wenn ich meinen Browser schließen und dann zu gehen versuchen,/Stopp gibt es Kind nicht definiert ist, und wenn ich definiere sie nicht tötet es . –

Antwort

Verwandte Themen