我有一个构建管道,它使用nunit.exe运行器运行一些自动化测试。例如:
- powershell: ./nunit.exe etc etc...如果我的构建管道被取消,我想终止在该任务中启动的Nunit进程(这些进程当前不会立即终止,因此导致管道在重新运行时失败,因为测试文件无法删除)。为了在管道取消时杀死Nunit进程,我有一些类似这样的东西:
- task: MyCleanUpTask
condition: canceled()看起来我应该能够使用像powershell taskkill这样的东西来杀死Nunit进程,作为这个任务的下一步。然而,不是使用像这样的东西
TASKKILL /F /IM nunit.exe要终止在VM上运行的所有Nunit可执行文件,我是否可以明确地终止在上述任务中启动的进程?例如,我是否可以存储此任务的进程ID,并在以后如果管道被取消则终止这些进程?或者有其他方法可以做到这一点?
发布于 2019-12-05 18:09:06
我们没有这样的Id或其他东西来指定进程。一个任务可以打开多个进程,但它只指出目标.exe和.dll。因此,您无法指定某个进程并终止它。
我认为您可以启动一个新的vm来分离它。
发布于 2020-01-02 10:11:03
在管道定义中添加一个"Process.Clean“变量并将其设置为"true”应该会有所帮助。
https://stackoverflow.com/questions/59175951
复制相似问题