node.js child_process.spawn kein stdout außer 'erben'

9

Ich versuche, das stdout von einem spawn ed child_process in node.js (0.10.29) zu erfassen.

Im Moment versuche ich nur mit ping

Der folgende Code wird nicht gedruckt (aber ping)

%Vor%

Wenn ich stdio: 'pipe' zu stdio: 'inherit' ändere und die stdout/stderr hooks wie folgt loswerde:

%Vor%

Ich bekomme

%Vor%

Wenn ich die Adresse von 127.0.0.2 zu 127.0.0.1 ändere, von der ich weiß, dass sie auf die Pings reagieren wird und den ursprünglichen Code verwenden werde, bekomme ich

%Vor%

Irgendwelche Ideen, warum stdout / stderr data -Ereignisse nicht auslöst, wenn der Ping nicht pinging oder inheriting ist?

    
dbenny 08.07.2014, 13:17
quelle

1 Antwort

0

Es gab viele Problembehebungen sowie Verbesserungen der Funktionen in Bezug auf den Konsolendruck, in den Bereichen Chunking und Pufferung. Da das Problem nicht mehr reproduzierbar ist, würde ich annehmen, dass dies an einem der nicht dokumentierten Verhaltensweisen des Node liegen könnte, basierend darauf, wie viele Datenbytes zum Drucken verfügbar sind.

Da diese Frage noch offen ist, möchte ich den Urheber fragen, ob Sie mit dieser Erklärung zufrieden sind oder nach konkreteren suchen, welchen Fall ich in der genannten Version von node and debug weiter reproduzieren müsste.

    
Gireesh Punathil 13.11.2016 11:55
quelle