gpt4 book ai didi

tomcat - 来自 ant 的 PsExec 不会终止

转载 作者:行者123 更新时间:2023-11-28 21:50:16 25 4
gpt4 key购买 nike

我想在远程 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 用户名 -p 密码 net start tomcat6

但是,当我运行 ant 目标时,psexec 进程永远不会终止,它只是挂起并显示以下输出:

start_tomcat_server:     [exec]     [exec] PsExec v1.98 - Execute processes remotely     [exec] Copyright (C) 2001-2010 Mark Russinovich     [exec] Sysinternals - www.sysinternals.com     [exec]

有什么想法可以让这项工作成功吗?

最佳答案

花了更多时间后,我找到了解决方案。将参数“-d”提供给 psexec,它将与标准输出分离。

        ...        <arg value="-d"/>        ...

需要注意的是,当添加'-d'时,psexec返回启动进程的PID而不是0,所以ant会认为命令失败。

关于tomcat - 来自 ant 的 PsExec 不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com