如何在ANT中杀死正在运行的exec任务

时间:2012-01-25 13:59:02

标签: ant continuous-integration weblogic-10.x continuous-deployment

我正在尝试使用ant exec命令启动weblogic服务器,在操作触发exec进程创建子进程后,我希望终止父进程并保持子进程的活动。

我的代码

<project name="startserver" default="start" basedir=".">
        <target name="start">
            <exec dir="C:\bea\user_projects\domains\devtest" 
                     executable="cmd" 
                     failonerror="true">
                     <arg value="/c"/>
                 <arg value="startWebLogic.cmd"/>
             </exec>
        </target>
</project>

此代码启动服务器,我的应用程序也启动,问题是ant脚本仍在运行&amp;而且它不会退出,如下所示

enter image description here

我如何退出exec并杀死父进程,作为我尝试使用

的解决方法
  

超时

exec任务的

属性,但它会杀死父进程和子进程,如何实现这一点,以便ANT退出,服务器也会在后台运行。

2 个答案:

答案 0 :(得分:2)

尝试exec任务的spawn="true"属性。它应该做你想要的。但要注意输入/输出处理的含义(见链接)。

答案 1 :(得分:0)

spawn="true"标记设置exec时,即使当前进程结束执行,子进程也会在后台运行。在您的情况下,而不是cmd,请直接使用startweblogic.cmd作为exec命令。