se intento agregar encender el vsorc desde la web
[VSoRC/.git] / src / routes / index.js
index 8e13ede275f2315ef15f049046ff6dd8251db56b..a9299a95c374fc4f5ff5857a51cb6ceb889df32c 100644 (file)
@@ -71,4 +71,56 @@ router.get('/gettopo', (req, res) => {
   });
 });
 
+router.get('/startcontroller', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("cd /home/pi/ryu && setsid $(cat /home/pi/ryu/ejecutarcontroller.sh | grep sudo) >/dev/null 2>&1 < /dev/null &", function(error, stdout, stderr) {
+    console.log("controller started");
+    res.send(stdout);
+  });
+});
+
+router.get('/stopcontroller', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("sudo kill $(ps aux | grep python | grep ryu | awk {'print $2'})", function(error, stdout, stderr) {
+    console.log("controller stopped");
+    res.send(stdout);
+  });
+});
+
+router.get('/startvsorc', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child0;//needs a mkfifo named fifo to exist
+  var child1;
+  var child2;
+  var answer;
+  //controlar que solo se haga un arranque por vez y agregar el exec 3>fifo
+  child0 = exec("cd /home/pi && mkfifo fifo && touch aichivo", function(error, stdout, stderr) {
+    console.log(stdout + stderr);
+    answer+=stdout;
+  });
+  child1 = exec("exec 3>fifo", function(error, stdout, stderr) {
+    console.log(stdout + stderr);
+    answer+=stdout;
+  });//add disown?
+  child2 = exec("cd /home/pi && cat fifo | sudo ./clusterGRE.py > aichivo 2>&1 &", function(error, stdout, stderr) {
+    console.log(stdout + stderr);
+    answer+=stdout;
+  });
+  res.send(answer);
+});
+
+router.get('/stopvsorc', (req,res) =>{
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("cd /home/pi && exec 3>&- && rm fifo aichivo", function(error, stdout, stderr) {
+    console.log(stdout);
+    res.send(stdout);
+  });//esto cierra el fifo, lo cual cierra el programa
+});
 module.exports = router;