I'm working on extending an ANT build script to allow a TeamCity build agent to run Selenium tests.
In doing so there is a server required to start with selenium which isn't shutdown at the end. So I added an extra target to execute a taskkill on the exe name at the end of every TC build.
Does taskkill need the absolute path to the exe, because the following isn't working;
<target name="shutdown.server" depends="init.properties" description="Shutdown the server after Selenium">
<exec osfamily="windows" executable="cmd.exe" spawn="true">
<arg line="taskkill /f /t /im app.exe"/>
</exec>
</target>
The process seems to have a few children which is why I've gone with /f /t
but as I say, none of them shutdown at the moment.
Well that was easy;
<target name="shutdown.server" depends="init.properties" description="Shutdown the server after Selenium">
<exec executable="taskkill">
<arg line="/im app.exe /f /t"/>
</exec>
</target>
This is an old post and normally I use the timeout="milliseconds"
, but for a long running process, I have found that the best way of killing an Ant launched process (especially java.exe
threads within Eclipse) is to use pskill.exe .
Just load pskill64.exe into the project directory and run the following Ant build.
<project name="project" default="shutdown.java.tasks" basedir="../">
<target name="shutdown.java.tasks">
<exec executable="path.to.pskill.in.your.project\pskill64">
<arg value="java.exe" />
</exec>
</target>
Typical output is:
shutdown.java:
[exec] PsKill v1.16 - Terminates processes on local or remote systems
[exec] Copyright (C) 1999-2016 Mark Russinovich
[exec] Sysinternals - www.sysinternals.com
[exec] 8 processes named java.exe killed.
BUILD SUCCESSFUL Total time: 387 milliseconds
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.