batch-file - 找出特定实例的 nunit 的进程 ID
问题描述
我有三个批处理文件,每个打开一个NUnit
. 我想杀死NUnit
测试完成时的特定实例。我能够获取三个NUnit
实例的三个进程 ID。
但是有没有办法找出哪个 processId 对应于哪个 Nunit 实例?
检查下面的图像。
这里它显示了我的进程 ID。但无法识别哪个是哪个实例。
这是我用于杀死NUnit
进程ID的批处理代码。
for /F "tokens=1,2,*" %%a in ('tasklist /FI "IMAGENAME eq nunit.exe"') do (
SETLOCAL ENABLEDELAYEDEXPANSION
set PID=%%b
echo PID StartRun_XXX=!PID!)
::echo before loop
:: Check for TestResult.xml file generation.
:: at the moment when TestResult.xml generated, kill the NUNIT instance and subsequently call OverViewGenerator.bat to generate TestResult.htm
pause
:loop
if exist %~dp0TestResult_%TestCategory%_%TimeStamp%.xml (
cd %~dp0
echo ====================inside if exist------dp0=%~dp0===================
pause
echo PID=!PID!
taskkill /PID !PID! /T
此代码突然杀死任何 nunit 实例。
解决方案
您最好的选择可能nunit
是在启动时区分进程。
可以获取通过 WMIC 启动的进程的 PID:
set "tab=" <<<<<<<<<<<< PLEASE insert TAB after '='
set "pid="
for /F "usebackq tokens=1,2 delims=;=%tab% " %%i in (
`wmic process call create "nunit.exe"^, "C:\working\dir"`
) do if %%j gtr 0 set pid=%%j
(从这个答案复制)
然后您可以将PID保存到文件中
echo set "PID=%pid%" >yourfile.bat
要终止进程,只需运行脚本以获取变量
call yourfile.bat
taskkill /pid %pid%
taskkill /f /pid %pid%
del /y yourfile.bat
推荐阅读
- python - 抓取 TripAdvisor Body Review 问题“阅读更多”
- laravel - Laravel 6视图包括来自子目录的不起作用
- python - 为什么 Crontab 不运行 python 脚本插入的命令?
- html - 如何直观地对单选按钮进行分组?
- python - 遍历嵌套数组并查找索引号
- reactjs - 使用条件然后映射反应问题
- ios - 复制文件时文件管理器“文件存在”
- excel - 如何自动过滤然后仅复制和粘贴可见单元格
- angularjs - 加载服务数据并在 fullCalendar 中显示使用 AngularJS 和 FullCalendar
- java - 为什么这个测试 junit 测试返回 400?