我有一个构建需要一个任务来启动一个进程,一个用于在最后杀死它。
我有一个包含进程ID的文件,但是无法弄清楚如何使ant扩展命令替换以便将该文件的内容传递给kill命令。
我试过了:
<target name="kill process">
<exec executable="kill">
<arg value="`cat process-file`"/>
</exec>
...
和
<target name="kill process">
<exec executable="kill">
<arg value="$(cat process-file)"/>
</exec>
但两者都转换为字符串litterals,因此导致:
[exec] kill: failed to parse argument: '$(cat process-file)'
有没有办法让ant扩展这些?或者完全不同的路线来实现这个目标?
答案 0 :(得分:3)
您可以使用Ant的loadfile
任务将文件的内容读入属性。
<loadfile srcFile="process-file" property="pid">
<filterchain>
<striplinebreaks/>
</filterchain>
</loadfile>
<exec executable="kill">
<arg value="${pid}"/>
</exec>
编辑:添加过滤链以处理额外的空白