se intento agregar encender el vsorc desde la web
authorVSORC <josuer08@gmail.com>
Thu, 10 Oct 2019 00:21:38 +0000 (20:21 -0400)
committerVSORC <josuer08@gmail.com>
Thu, 10 Oct 2019 00:21:38 +0000 (20:21 -0400)
fifo [new file with mode: 0644]
src/routes/index.js
src/views/starter.ejs

diff --git a/fifo b/fifo
new file mode 100644 (file)
index 0000000..e69de29
index c44e2cdbae7665d09104a2918976a09f5cef77d5..a9299a95c374fc4f5ff5857a51cb6ceb889df32c 100644 (file)
@@ -71,7 +71,6 @@ router.get('/gettopo', (req, res) => {
   });
 });
 
-
 router.get('/startcontroller', (req, res) => {
   var sys = require('sys')
   var exec = require('child_process').exec;
@@ -93,13 +92,35 @@ router.get('/stopcontroller', (req, res) => {
 });
 
 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 && cat fifo | sudo ./clusterGRE.py > aichivo 2>&1 ", function(error, stdout, stderr) {
+  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;
index 5703c0c92ea446729dc050706b4d8fac1929a67a..de1868b9c452d0361a091817058e84937a37fca6 100644 (file)
@@ -46,6 +46,7 @@
       <button type="button" name="button" onclick="startcontroller()">Iniciar controlador</button>
       <button type="button" name="button" onclick="stopcontroller()">Detener controlador</button>
       <button type="button" name="button" onclick="startvsorc()">Iniciar VsoRc</button>
+      <button type="button" name="button" onclick="stopvsorc()">Detener VsoRc</button>
     <script type="text/javascript">
 
     function stopcontroller() {
           xhr.onload = function() {
             if (xhr.status == 200) { //can use this.status instead
               //console.log(xhr.responseText);// para ver en la consola
-              console.log("vsorc startedd");
+              console.log("vsorc started");
             }
           }
           xhr.send();
         }
+        function stopvsorc() {
+            let xhr = new XMLHttpRequest();
+            xhr.open('GET', '/stopvsorc', true);
+            xhr.onload = function() {
+              if (xhr.status == 200) { //can use this.status instead
+                //console.log(xhr.responseText);// para ver en la consola
+                console.log("vsorc stopped");
+              }
+            }
+            xhr.send();
+          }
     </script>
   </main>
   <aside class="">