2009-06-12 7 views
1

Ich habe ein sehr seltsames Problem, wo ich eine verwaltete .net-Konsole App auf einem Remote-Server mit psexec ausführen. Ich erhalte diesen Fehler "Der Prozess hat versucht, in eine nicht existierende Pipe zu schreiben".keine Ausgabe von .NET-Konsole App von psexec ausgeführt

Jetzt schrieb ich ein nicht verwaltetes C++ - Programm zur Ausgabe an std :: cout, und es funktioniert gut.

Interessanterweise, wenn ich cmd.exe remote ausführen, und verwenden Sie die Option/u (Unicode), bekomme ich nicht den Fehler, aber ich bekomme Garbage-Text zurück zur Konsole gestreamt.

Kann mir jemand erklären, was hier vor sich geht?

Cheers, Mark

Antwort

0

, um dieses Problem zu umgehen, ich per Remote-.cmd-Skript ausführen, das die .net-Anwendung läuft, Umleitung (">") seine Ausgabe in eine Datei. Ich "tippe" dann die Datei in das Skript, und ich bekomme jetzt die Ausgabe zurück.

Ich verstehe immer noch nicht, warum die Konsolenausgabe der .net-Anwendung verloren, aber diese Arbeit-around hat den Zweck erfüllt.

Mark

+0

können Sie ein Beispiel, wie man diese Arbeit bekam? –

+0

Ich habe es nicht wirklich funktioniert. Ich hatte gerade das cmd-Skript, das ich ausführen wollte, umleiten seine Ausgabe in eine Datei. Dann "tippe" die Datei in stdout. Seltsam, aber es hat funktioniert. – Mark