2017-02-25 4 views
2

Ich habe eine einfache NodeJS-Anwendung, die eine Funktion zum Scrapen von Dateimetadaten hat. Da das Scrappen von Metadaten sehr intensiv sein kann, habe ich die App als untergeordneten Prozess mit fork ausgeführt.Wie verzweige ich einen Child-Prozess mit Elektron

const metaParser = child.fork( fe.join(__dirname, 'parse-metadata.js'), [jsonLoad]); 

Alles funktionierte gut, bis ich dies zu Elektron portierte. Wenn er in main.js ausgeführt wird, wird der Prozess erfolgreich erstellt, wird jedoch sofort beendet. Ich habe einige Logs zu parse-metadata.js hinzugefügt und festgestellt, dass parse-metadata.js erfolgreich ausgeführt wurde und lange genug lief, um die ersten paar Zeilen Code auszuführen und dann zu beenden.

Wie bekomme ich das Elektron zur Verzweigung parse-metadata.js und halte es bis zum Ende am Leben?

Ich bin mit Elektronen v1.4.15 und Knoten v6

+0

hast du das überprüft? http://stackoverflow.com/questions/38172308/spawn-a-child-process-in-electron – Mouneer

+0

Ja, ich sah das. Es erklärt nicht das Verhalten, das ich sehe – iros

Antwort

0

Wenn die freistehende Option mit einem langlaufende Prozess zu starten, wird der Prozess nicht im Hintergrund bleiben laufen, wenn es mit einer stdio Konfiguration versehen ist, ist nicht mit dem Elternteil verbunden. Auch es scheint mit dem env verwandt.

Schau dir das an: https://github.com/electron/electron/issues/6868