Node.JS Kindprozesse werden getötet, wenn der Elternteil stirbt

8

Ich verwende child_process.spawn (), um ein Skript von meiner Node.JS-Anwendung zu starten, die auf Ubuntu läuft. Soweit ich weiß, sterben standardisierte gegabelte oder gespawn * nix-Prozesse im Allgemeinen nicht, wenn der Elternteil stirbt, aber wenn sie Prozesse von Node.JS erzeugen, scheinen sie getötet zu werden, wenn meine Anwendung abstürzt, oder sie werden mit ctrl-c etc abgebrochen .

Warum ist das und gibt es einen Weg um dies? Ich kann anscheinend keine offensichtliche Option in der child_process API finden.

Meine Anwendung startet einige ziemlich lange laufende Aufgaben, die im Hintergrund ausgeführt werden sollten, und wenn mein Knotenserver abstürzt oder aus einem anderen Grund neu gestartet wird, möchte ich die Aufgaben nicht unterbrechen, stattdessen möchte ich den Knotenserver kommen Sichern Sie und überwachen Sie den Fortschritt der ausgeführten Aufgaben wieder auf würdige Weise.

    
JHH 08.06.2015, 12:08
quelle

1 Antwort

17

Sie müssen die getrennte Option

festlegen
  

Wenn die gelöschte Option festgelegt ist, wird der untergeordnete Prozess zum   Leiter einer neuen Prozessgruppe. Dies macht es dem Kind möglich   läuft weiter, nachdem das Elternteil beendet wurde.

%Vor%     
Johny 08.06.2015, 12:16
quelle

Tags und Links