PSExec:是否将C#控制台应用程序输出重定向到window/Diagnostics.Process?

PSExec:是否将C#控制台应用程序输出重定向到window/Diagnostics.Process?,c#,process,console-application,psexec,C#,Process,Console Application,Psexec,因此,我编写了一个C#console应用程序,向控制台吐东西(在我的例子中,是一些XML)。现在我正在使用PsExec从另一台机器调用该控制台应用程序;调用工作正常,退出时出现错误代码0(表示成功),但是,我无法检索/查看控制台应用程序写入命令行标准输出的输出 我的电话看起来像: "C:\Program Files\PSTools\psexec.exe" <machineName> -u <user> -p <password>

因此,我编写了一个C#console应用程序,向控制台吐东西(在我的例子中,是一些XML)。现在我正在使用PsExec从另一台机器调用该控制台应用程序;调用工作正常,退出时出现错误代码0(表示成功),但是,我无法检索/查看控制台应用程序写入命令行标准输出的输出

我的电话看起来像:

"C:\Program Files\PSTools\psexec.exe"
    <machineName>
    -u <user>
    -p <password>
    "C:\..\..\consoleapp.exe"
    -arg1 "value"
“C:\Program Files\PSTools\psexec.exe”
-u
-p
“C:\..\..\consoleapp.exe”
-arg1“值”
我注意到,当我运行这个程序时,它会弹出另一个窗口,而不是psexec窗口(可能是我的控制台应用程序),该窗口的打开和关闭速度非常快。我已尝试添加-I标志、2>&1、>>C:output.txt和>C:\output.txt重定向,这些重定向都不会使我的控制台应用程序输出显示在原始控制台窗口[其中包含psexec]中,也不会将我的控制台应用程序输出转储到文件中

这是一个中间目标,但是,我正在尝试将此输出重定向到System.Diagnostics.Process对象,该对象只成功地将psexec输出重定向到stderror(即“psexec连接到…已退出,代码为0”)。stdout是空的,我想包含我的控制台应用程序输出


有什么建议吗?

听起来您需要某种进程间通信。实现这一点的一种方法是创建命名管道。看一看这篇文章,也许它会为你指明未来的方向


听起来您需要某种进程间通信。实现这一点的一种方法是创建命名管道。看一看这篇文章,也许它会为你指明未来的方向