如果我從一個ant腳本啓動分叉的java進程並殺死ant進程,它不會終止java進程。無論是從IDE還是從命令行運行,都是如此。如何殺死由Ant啓動的失控Java進程?
<target name="myTarget" >
<java classname="path.to.MyClass"
fork="yes"
failonerror="true"
maxmemory="128M">
<classpath refid="run" />
</java>
</target>
有沒有辦法鏈接這些,這樣殺死ant進程會殺死java進程?
我見過以下Q&A - 但這似乎集中在如何手動殺死java進程。我不想這樣做,因爲我有許多其他Java應用程序正在運行,並且在TaskManager中找到正確的java.exe進程以殺死它並不總是直截了當的。
哪個操作系統腳本上運行? –
@ChadNouis,Windows(XP和7)。但是,如果可能的話,我更喜歡獨立於平臺的解決方案。 – amaidment
您可以使用帶有守護程序元素的並行元素嗎?我對任何一種功能都不太瞭解,並且我知道你不是在尋找並行的,但是我碰到了[this thread](http://stackoverflow.com/questions/2299432/stopping-a-parallel-java -task-with-ant)以及你的線程尋找停止服務器java進程的解決方案。看起來守護進程會在螞蟻完成時安全地殺死正確的java進程,而且我認爲這意味着當螞蟻很早就被殺死了。 – mjohnsonengr