+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 child3;
+ var answer;
+ request = JSON.parse(req.query.topology)
+ console.log("Topology is : \n"+ request);
+ //controlar que solo se haga un arranque por vez y agregar el exec 3>fifo
+ child0 = exec("cd /home/pi/scripts && echo \""+request+"\" > data", function(error, stdout, stderr) {
+ console.log(stdout + stderr);
+ answer+=stdout;
+ });
+ child1 = exec("cd /home/pi/scripts && mkfifo fifo && touch aichivo", function(error, stdout, stderr) {
+ console.log(stdout + stderr);
+ answer+=stdout;
+ });
+ child2 = exec("cd /home/pi/scripts && exec 3>fifo", function(error, stdout, stderr) {
+ console.log(stdout + stderr);
+ answer+=stdout;
+ });
+ //child3 uses tail so it can read from fifo even after a EOF
+ child3 = exec("cd /home/pi/scripts && tail -n +1 -f fifo | sudo ./clusterGRE.py > aichivo 2>&1 &", function(error, stdout, stderr) {
+ console.log(stdout + stderr);
+ answer+=stdout;
+ });
+ res.send(answer);