在debian上执行init.d脚本时,ant任务挂起

时间:2012-02-27 18:58:21

标签: shell ant debian

我是一个用于在debian squeeze上启动java进程的init.d脚本。如果我在ant ant build中调用这个脚本,如:

<target name="deploy-CdrServer-local">
            <ant antfile="${CdrServer.location}/build.xml" target="deploy-local" inheritAll="false">
                    <property name="basedir" value="${CdrServer.location}" />
            </ant>
            <exec dir="/etc/init.d" spawn="false" executable="bash" newenvironment="false">
                    <arg line="cdrserver restart"/>
            </exec>
    </target>

脚本被执行但是蚂蚁&#34;挂起&#34;在以下输出之后:

 [copy] Copying 1 file to /opt/CdrServer
 [copy] Copying 7 files to /opt/CdrServer/CdrServer_lib
 [exec] Stopping CdrServer ...
 [exec] CdrServer server process stopped
 [exec] Starting CdrServer ... 
 [exec] cat $PIDFILE
 [exec] CdrServer has PID:  24170
 [exec] 
 [exec] 
 [exec] restarted CdrServer
 [exec] exit 0 

我在ant文档中看到设置inputstring =&#34;&#34;因为参数会有所帮助,但它不会...

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我发现在执行生成后台子进程的脚本时,ant会挂起在solaris上。

为了修复它,我改变了脚本,以便它吐出一个文件“是的,我完成了”。然后我修改了ant文件以删除该文件,用spawn-“true”执行该脚本,然后等待该文件出现。