0

我在使用带有 psexec 的 CC.NET 时遇到了一个奇怪的问题。

我本质上是在复制一个构建服务器,除了每个服务器上的几个名称更改。两者都是虚拟机。第一个服务器运行良好,但第二个服务器上几乎相同的项目没有完成 CC.NET 构建。这发生在使用 psexec 命令触发批处理文件的 CC.NET 服务器配置部分之后。

psexec 命令很简单,用于触发一个 exe 文件,这是一个 Ranorex 自动化测试用例。测试用例需要在当前用户的会话(会话 1)中运行,以便 UI 组件可见(这是 Ranorex 约束)。

这是命令:

psexec \\<server name> -i 1 cmd /c C:\Users\build\<path to exe>

操作系统是 Windows 7,Ranorex 是 3.1,CC.NET 和 Psexec 是截至目前的最新版本。

CC.NET 构建日志的输出如下(这只是最后一部分):

<buildresults>
  <message level="Error">PsExec v1.98 - Execute processes remotely</message>
  <message level="Error">Copyright (C) 2001-2010 Mark Russinovich</message>
  <message level="Error">Sysinternals - www.sysinternals.com</message>
</buildresults>

这似乎是 psexec 的输出。获得此日志的唯一方法是,如果我强制 CC.NET 中止构建,则此时会挂起。任何人都知道为什么构建在 psexec 部分挂起?

4

1 回答 1

1

PSExec 一直有这样的“挂起”问题,解决方案之一是您必须将输出重定向到 >nul。

http://forum.sysinternals.com/psexec-always-hangs-when-run-from-java_topic5013.html

于 2011-10-19T17:27:18.680 回答