由于可疑权限问题,Ant任务挂起

时间:2013-06-26 20:17:12

标签: ant permissions hang staf

我有一个开始使用Ant脚本的STAF作业,所有这些都在功能ID下运行。 ant脚本执行基本的“init”任务,它们工作正常,然后挂起以下任务之一:delete,mkdir或junit,具体取决于我在文件系统中做了多少混乱。

<target name="run.nightly.tests" depends="init">
    <delete dir="/path/results/latestDate" />
    <mkdir dir="/path/results/latestDate"  />
    <chmod perm="777" dir="/path/results/latestDate" />
    <junit printsummary="on" fork="no">
                <!-- typical classpath/tests setup snipped -->
    </junit>
</target>

我能够sudo这个功能ID并从shell运行相应的命令就好了(例如:rm -rf / path / results / latestDate)。显然,在功能id下在Ant环境中运行会有所不同。 (事实上​​,我可以用我自己的id运行脚本)

在我的脚本运行之前,

/ path / results有777个权限,当/ path / results / latestDate存在时,它拥有相同的功能ID w / 777权限。

STAF启动此脚本:

export ANT_HOME=/opt/apache-ant-1.8.2
#This entire directory tree and jar files are world r+x
LIB_DIR=/home/afreed/automation/dependencies/mail
ant -debug -verbose -buildfile nightlyTest.xml -lib ${LIB_DIR}/mail.jar:${LIB_DIR}/activation.jar

我会理解如果Ant在任何这些任务中失败并出现权限错误,但我无法理解为什么它会挂起。

我想帮助a)确定为什么有挂起或b)如何将挂起转换为硬故障

1 个答案:

答案 0 :(得分:0)

解决了,Ant脚本挂在正在等待STDIN输入的exec命令上。 (执行一直持续到那一点,因为它是使用'spawn'属性启动的。)当我从'init'目标中删除这个'exec'任务时,Ant脚本按预期运行。

<!-- hanging task in init-->
<exec executable="blah.sh" spawn="true">