1

プロセスを開始するためのタスクと、最後にプロセスを強制終了するためのタスクが必要なビルドがあります。

プロセスIDを含むファイルがありますが、そのファイルの内容を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>

ただし、どちらも文字列リテラルに変換されるため、次のようになります。 [exec] kill: failed to parse argument: '$(cat process-file)'

これらをアリに展開させる方法はありますか?それとも、これを達成するためのまったく別のルートですか?

4

1 に答える 1

3

Ant のloadfileタスクを使用して、ファイルの内容をプロパティに読み込むことができます。

<loadfile srcFile="process-file" property="pid">
  <filterchain>
    <striplinebreaks/>
  </filterchain>
</loadfile>
<exec executable="kill">
    <arg value="${pid}"/>
</exec>

編集:追加の空白を処理するためにフィルターチェーンを追加しました

于 2015-02-08T05:17:57.620 に答える