1

我正在尝试从 CC.NET 调用 PSExec 任务并遇到一些困难。

这是CC项目

<project name="Test">
  <tasks>
    <exec>
      <executable>C:\Utilities\psexec.exe</executable>
      <buildArgs>-u [UNAME] -p [PWD] "C:\Utilities\Joel.bat"</buildArgs>
    </exec>
   </tasks>
 </project>

这是 Joel.bat 的来源

CLS
@ECHO OFF

发生的情况是,我第一次强制项目构建时,它运行成功。PSExec 任务被启动并执行 Joel.bat 文件。我在构建日志中获得了一些关于退出代码的信息,但任务是成功的。

这是构建日志输出。

PsExec v1.97 - Execute processes remotely
Copyright (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com
C:\Utilities\Joel.bat exited with error code 0.

第二次强制构建时,我收到可怕的“应用程序无法正确初始化(0xc0000142)”错误消息。我不能多次运行构建

更重要的是,如果我尝试从服务 MSC 中关闭巡航控制 .net 服务,它不能。就像某处有一个锁被占用而没有释放。我可以终止服务的唯一方法是终止 ccservices.exe 进程。

我已经使用 nant 任务尝试了完全相同的事情并得到了完全相同的结果。它第一次工作,第二次失败,我无法关闭该过程。

我不确定这是 CC.NET 还是 PSEXEC(当然还是我)的问题。

有人有什么想法吗?我也在 CC.NET 论坛上发帖。

我正在使用最新最好的 PSExec 和 CC.NET 的 1.4.4。

谢谢,乔尔

4

3 回答 3

2

在管理员帐户下运行 CruiseControl 服务

于 2010-10-26T10:56:23.313 回答
0

也许它是旧的 eula 问题,尝试 psexec 的 /accepteula 选项

于 2011-04-21T22:26:26.607 回答
0

您是否尝试过任何其他 psexec选项

-d Don't wait for application to terminate. Only use this option for non-interactive applications.
于 2010-03-17T17:35:55.797 回答