ich ein node.js Projekt, das viele Dinge tut, laicht es Child-Prozesse, ist es eine http und Socket.io Server öffnet, etc ..NodeJS - Prozess hängt beim Beenden (Strg + C)
Als ich Führen Sie es von der Konsole aus, schließen Sie es mit Ctrl+C
, es hängt einfach. Von webstorm, stoppe der Prozess ist ein zweistufiger Prozess, zuerst drücke ich Stop, dann muss ich den Knopf erneut drücken, nur das zweite Mal ist die Schaltfläche ein Totenkopf-Symbol.
Nun, ich verstehe, es lässt etwas offen oder hängend, aber ich kann einfach nicht herausfinden, was, ich habe versucht, alle Orte zu verfolgen, wo ich einen Prozess starte und dafür gesorgt habe, dass ich sie richtig töte.
Gibt es eine Möglichkeit, dies zu debuggen und herauszufinden, was meinen Prozess hängt? Könnte es protokollieren, dass ein Schreibstream geöffnet wird und niemals schließt? Ich bin mir nicht einmal sicher, welche Dinge einen Prozess auf SIGINT bringen werden.
BEARBEITEN: Ich habe pstree
heruntergeladen, um zu sehen, ob einer der Kindprozesse, die der Hauptprozess hervorbringt, am Leben bleibt. Es sieht so aus, als ob sie alle korrekt enden - der Hauptknotenprozess ist der einzige, der übrig ist.
ausprobieren [Knoten-Inspektor] (https://github.com/node-inspector/node-inspector) –
Dies ist in der Regel, weil einige Event-Listener haben nicht wurde nicht registriert. Das ist ziemlich breit, aber für weitere Informationen müssen Sie etwas Code posten. – qubyte
@ MarkS.Everitt - jede Art von Zeiger würde geschätzt werden - welche Art von Ereignis-Listener konnte dazu führen, dass der Prozess nach SIGINT am Leben bleiben? – Madd0g