如何在ANT中终止正在运行的exec任务

3

我正在尝试使用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脚本仍在运行,并且像下面展示的那样没有退出。 enter image description here 如何从exec中退出并杀死父进程?作为解决方法,我尝试使用exec任务的timeout属性,但它会同时杀死父进程和子进程。如何实现以便ANT退出,而服务器仍在后台运行?
2个回答

2
尝试使用spawn="true"属性的exec任务。它应该能够实现你所需求的功能。但要注意输入/输出处理方面的影响(请参见链接)。

即使使用了 spawn="true",我仍然无法实现。 - srk

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接