2016-05-06 9 views
0

Ich benutze den Kindprozess des Knotens, um eine Shell zu erzeugen und eine Binärdatei darin auszuführen. Ich verweise auf die Binärdatei wie folgt, aber ich bekomme ENOENT Fehler.node require ('child_process') spawn throws ENOENT

var spawn = require('child_process').spawn; 
    binary = spawn('PATH_TO_BINARY') //i refer it like app.get('Config').ROOT_PATH + '/folderName/Binary -c' + app.get('Config').ROOT_PATH + '/configfolderName/BinaryConfig.cfg' 

Dann habe ich binary.stdout.on, binary.stderr.on Zuhörer, aber wenn ich die App laufen bekomme ich diesen Fehler uncaughtException: Spawn „binary Pfad“ ENOENT

Auf der anderen Seite, wenn ich benutze "exec", es funktioniert, jede Idee, warum es bei der Verwendung von spawn und beim Ausführen von exec fehlschlägt.

ich nicht exec in diesem Fall benutzen kann, weil ich mit Fall zu tun habe Ströme hier so ist es wie die ideale Sache für Streams sieht laichen und nicht exec.Got, dass von hier http://www.hacksparrow.com/difference-between-spawn-and-exec-of-node-js-child_process.html

+0

Haben Sie überprüft, ob der Pfad korrekt ist? –

+0

@Gothdo Ja, wie ich bereits erwähnt habe, funktionierte es, wenn ich das nur von var spawn = require ('child_process') ändere. zu var spawn = require ('child_process') .exec; PATH scheint korrekt zu sein. – Sai

Antwort