我想在远程 Windows 机器上启动和停止 tomcat 服务器。我希望能够从 ant 脚本中执行此操作(因此我们的构建服务器可以执行此操作)。
我无法使用 sc.exe 解决这个问题,因为无法将用户名和密码传递给远程机器。
相反,我使用 psexec 在远程服务器上运行命令。我的 ant 脚本如下所示:
<target name="start_tomcat_server">
<exec executable="psexec.exe" failonerror="true">
<arg value="/accepteula"/>
<arg value="\\test_host"/>
<arg value="-u"/>
<arg value="username"/>
<arg value="-p"/>
<arg value="password"/>
<arg value="net"/>
<arg value="start"/>
<arg value="tomcat6"/>
</exec>
</target>
如果我从命令提示符运行此命令,一切正常:
psexec.exe /accepteula \\test_host -u username -p password net start tomcat6
但是,当我运行 ant 目标时,psexec 进程永远不会终止,它只是挂起这个输出:
start_tomcat_server: [执行] [exec] PsExec v1.98 - 远程执行进程 [执行] 版权所有 (C) 2001-2010 Mark Russinovich [执行] Sysinternals - www.sysinternals.com [执行]
任何想法我可以做些什么来完成这项工作?