2015-07-15 6 views
12

Beim Erstellen eines neuen untergeordneten Elements in Nodejs unter Windows (child_process.spawn) wird immer ein leeres Konsolenfenster geöffnet, das geöffnet bleibt, bis der untergeordnete Prozess beendet wird.Ausblenden des untergeordneten Prozesskonsolenfensters

Gibt es eine Möglichkeit, dies zu vermeiden?

, d. H. Wir möchten unsere Anwendung als Hintergrunddienst unter Verwendung von forever ausführen. Es ist jedoch nicht sehr Hintergrundhaft, da es leere Konsolenfenster öffnet und schließt ...

BEARBEITEN: Das Ausführen der Unteranwendung im "ruhigen" Modus ist keine Option, da Teile der Prozesse, die erzeugt werden, wmic sind.

+1

mögliche Duplikate von [Wie verhindert man, dass die Konsole bei Verwendung der Dummy-Schnittstelle von VLC angezeigt wird] (http://stackoverflow.com/questions/6001034/how-to-prevent-console-from-being-displayed-when-using) -vlcs-dummy-interface) – CodeCaster

+0

Das Duplikat und die Dokumentation von Node erwähnen eine Möglichkeit, dies über Ihren Code zu tun. Vielleicht können Sie die Client-Anwendung über Kommandozeilenparameter so konfigurieren, dass kein Fenster angezeigt wird. Wenn Sie Node als Windows-Dienst ausführen, werden die Fenster trotzdem nicht angezeigt. – CodeCaster

+0

Ich benutze 'spawn' und ich bekomme nie ein separates Fenster auf Windows. Thjo ich habe Listeneras Setup für 'stdout' und' stderr'. Vielleicht ist das der Grund (ich bin mir nicht sicher) ... aber ich denke, es hängt davon ab, was du in deinem Spawn anrufst. – Gyandeep

Antwort

1

So wird für immer eine Konsole für die App spawnen. Und nicht offen für jeden Spawn ein Konsolenfenster.

forever -c "cmd /c node" start app.js 
0

von ranP Antwort Im Anschluss an,

forever start --uid "foo" -c "cmd /c node" app.js 

Sie müssen 'Start', bevor Sie -c args und --uid ist optional. Beachten Sie, dass im Befehl -c ein Leerzeichen weniger Platz ist, damit dies funktioniert.

Verwandte Themen