【发布时间】:2009-06-12 11:23:04
【问题描述】:
我遇到了一个非常奇怪的问题,我使用 psexec 在远程服务器上运行托管 .net 控制台应用程序。我收到此错误“进程试图写入不存在的管道”。
现在我写了一个非托管的 C++ 程序来输出到 std::cout,它工作得很好。
有趣的是,如果我远程运行 cmd.exe 并使用 /u (unicode) 选项,我不会收到错误消息,但我会将垃圾文本流式传输回控制台。
谁能解释一下这里可能发生了什么?
干杯, 标记
【问题讨论】:
我遇到了一个非常奇怪的问题,我使用 psexec 在远程服务器上运行托管 .net 控制台应用程序。我收到此错误“进程试图写入不存在的管道”。
现在我写了一个非托管的 C++ 程序来输出到 std::cout,它工作得很好。
有趣的是,如果我远程运行 cmd.exe 并使用 /u (unicode) 选项,我不会收到错误消息,但我会将垃圾文本流式传输回控制台。
谁能解释一下这里可能发生了什么?
干杯, 标记
【问题讨论】:
为了解决这个问题,我远程运行了一个 .cmd 脚本,该脚本运行 .net 应用程序,将其输出重定向 (">") 到一个文件。然后我在脚本中“键入”文件,现在我得到了输出。
我仍然不明白为什么 .net 应用程序的控制台输出会丢失,但这种解决方法可以解决问题。
标记
【讨论】: