【问题标题】:How can I invoke a remote process in .NET that inherits the parent's stdin and stdout如何在 .NET 中调用继承父级标准输入和标准输出的远程进程
【发布时间】:2011-01-07 11:14:33
【问题描述】:

我需要编写一个 .NET(C# 或 IronPython)控制台应用程序,在远程机器上启动一个程序,该程序从父级的标准输入读取并写入父级的标准输出。目标是将写入本地应用程序的输入写入远程应用程序,并将远程应用程序的输出写入本地应用程序的输出。

我怎样才能做到这一点?我通过 System.Management 查看了 WMI,但不确定如何附加标准输入/标准输出流。

【问题讨论】:

    标签: .net windows networking


    【解决方案1】:

    在您的应用程序中使用PsExec 怎么样?

    您可以使用

    打开远程 shell
    psexec [params] cmd
    

    然后使用本地shell写入输入和读取输出。

    【讨论】:

    • 我认为 OP 正在寻求创建类似远程 shell 会话的东西,而不是仅仅执行远程进程并将输出返回。您不能使用 PsExec 以交互方式将输入发送到远程进程(即标准输入)。不过是个好工具:)
    • 可以使用psexec [params] cmd打开远程shell,然后使用本地shell进行输入输出。
    • +1 @Daniel 我的立场是正确的。我没有意识到您可以使用 PsExec 启动交互式会话。过去我一直只是用它来将构建系统粘合在一起 - 非常好。 :)
    • 首先,我尝试通过stdin实现非交互控制。实际上,我正在尝试创建一个命令,Hudson 持续集成服务器可以使用该命令通过标准输入来控制从代理,作为 Windows 上 SSH 的替代方案。其次,我已经尝试过 PSExec,但我无法让它接受非交互式输入。请参阅我的问题:stackoverflow.com/questions/4508363/…
    猜你喜欢
    • 2013-11-12
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2021-02-09
    • 2013-03-01
    • 1970-01-01
    相关资源
    最近更新 更多