0

psexec で CC.NET を使用すると奇妙な問題が発生します。

それぞれのいくつかの名前の変更を除いて、基本的にビルドサーバーを複製しています。どちらも VM です。最初のサーバーは問題なく動作しますが、2 番目のサーバーのほとんど同じプロジェクトでは、CC.NET のビルドは完了しません。これは、psexec コマンドでバッチ ファイルをトリガーする CC.NET サーバー構成の一部に到達した後に発生します。

psexec コマンドはシンプルで、Ranorex の自動テスト ケースである exe ファイルをトリガーする役割を果たします。テスト ケースは、UI コンポーネントが表示されるように、現在のユーザーのセッション (セッション 1) で実行する必要があります (これは Ranorex の制約です)。

これはコマンドです:

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

OS は 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 には常にこのような「ハング」の問題がありました。解決策の 1 つは、出力を >nul にリダイレクトする必要があることです。

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

于 2011-10-19T17:27:18.680 に答える