Ich habe eine ausführbare Bibliothek in C (sudo. /ads1256_test adc.txt) wo Daten von einem ADC erworben werden, ebenso werden diese Daten automatisch in einer Textdatei gespeichert (ADC. txt).Ausgabe Kind Prozess innerhalb eines Servers auf node.js
Auf der anderen Seite habe ich einen Server in node.js (siehe Code), in dem dieses Programm ausgeführt werden soll, wenn eine Schaltfläche in der Website gedrückt wird. Dazu habe ich versucht, diesen Prozess mit dem Kindprozess .exec ('sudo ./ads1256_test adc.txt') zu implementieren, aber es hat nicht funktioniert. Es läuft scheinbar, aber die in der Datei gespeicherten Werte sind immer Null. Das ist völlig anders als das Ergebnis, wenn ich denselben Befehl im Terminal ausführe. Ich würde mich freuen, wenn mir jemand helfen könnte.
//Importing the core modules
var express = require('express');
var path = require('path');
var sys = require('sys');
var fs = require('fs');
var util = require('util');
var sleep = require('sleep');
var app = express();
var exec = require('child_process').exec;
var spawn = require('child_process').spawn;
app.get('/', function(req,res){
res.sendFile(path.join(__dirname + '/public/index.html'));
});
//Static Directories
app.use(express.static(__dirname + '/public'));
app.post('/test', function (req, res) {
exec('sudo ./ads1256_test adc.txt');
});
//Server Starting
var server = app.listen(8080, function(err){
if(err){
console.log('Error starting http server');
} else{
console.log('Sever running at http://localhost:8080 ');
}
});