リモート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] [exec]PsExecv1.98-プロセスをリモートで実行します [exec] Copyright(C)2001-2010 Mark Russinovich [exec]Sysinternals-www.sysinternals.com [exec]
この作品を作るために私ができることはありますか?