【问题标题】:Connecting from Linux to Windows to perform a task从 Linux 连接到 Windows 以执行任务
【发布时间】:2008-11-15 02:14:27
【问题描述】:

有人要求我找到一种从 Linux 系统连接到多个 Windows 服务器之一的方法。理想情况下,我们需要做的是连接到任何导致问题的 Windows 服务器,杀死一个进程,然后重新启动该进程。理想情况下,它可以放入可以从 Linux 计算机运行的脚本中。到目前为止,我发现的所有解决方案都涉及某种远程桌面连接,但就像我说的,命令行解决方案更可取?这可能吗?我很抱歉......这不是一个编程问题,但我已经无能为力了。

【问题讨论】:

    标签: windows linux bash


    【解决方案1】:

    我在 Windows 机器 (but it is available without Cygwin in an installer) 上将 Cygwin 与 OpenSSH 服务器一起使用,并且可以从 Linux 机器通过 SSH 登录以使用命令行执行操作。我不杀死进程,我进行构建。但同样的概念也适用。

    【讨论】:

    • 我向负责该项目的人推荐了 Cygwin。他不认为仅仅为了这一点而在每台 Windows 服务器上安装它是值得的。
    • 你不一定需要整个 cygwin,只需要 rshd/sshd 和 cygwin.dll - 我在 windows 上用 rsyncd 做类似的事情。
    【解决方案2】:

    This 声称是 sysinternals psexec 的一个端口,我没用过,但是 psexec 很棒

    【讨论】:

      【解决方案3】:

      Cygwin 的默认 ps/kill 不允许您访问 Windows 进程来杀死它们。

      使用cygwin + openssh + windows services 获取机器上的 SSH 用户。

      一旦进入 SSH 命令行,就可以使用标准的 Win32 工具杀死进程,例如 -

      taskkill /f /im notepad.exe
      

      或者为Win32添加其他commandline process tools

      编辑:或者您可以只使用ps -elW 查看所有 Windows 进程,然后将该 PID 传递给 taskkill。

      【讨论】:

      • 嗯...这可以与上面讨论的 OpenSSH 的 Cygwin-free 安装一起使用吗?如果是这样,我认为这可能会奏效。不过要到星期一才能确定:D
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2011-04-01
      • 2014-07-23
      • 2012-05-17
      • 2013-08-18
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多