我有一个构建管道,该管道使用nunit.exe运行程序运行一些自动化测试。 例如
- powershell: ./nunit.exe etc etc...
如果我的构建管道被取消,我想杀死在该任务中启动的Nunit进程(这些当前没有立即被杀死,因此由于无法删除测试文件而在重新运行该管道时导致该管道失败)。 要取消取消管道时的Nunit进程,我需要执行以下操作:
- task: MyCleanUpTask
condition: canceled()
然后看来,我应该能够使用Powershells taskkill之类的东西杀死Nunit进程,作为该任务的下一步。 但是,与其使用类似的
TASKKILL /F /IM nunit.exe
要杀死在VM上运行的所有Nunit可执行文件,我是否可以明确地仅杀死上述任务中启动的进程?例如我可以存储此任务的进程ID并在以后取消管道的情况下终止这些进程吗?还是有其他方法可以做到这一点?
答案 0 :(得分:0)
我们没有这样的ID或其他东西来指定进程。一个任务可能会打开多个进程,但只能指出目标.exe和.dll。因此,您无法指定特定的进程并杀死它。
我认为您可以启动一个新的虚拟机来分离它。
答案 1 :(得分:0)
在管道定义中添加“ Process.Clean ”变量并将其设置为“ true ”应该会有所帮助。