首先,我有一个启动4个java程序的脚本:
@echo off
cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum\target"
start "BROKER" java -jar loremIpsum-broker.jar
cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum-virtual-devices-engine\target"
start "VIRTUAL-DEVICES-ENGINE" java -jar loremIpsum-virtual-devices-engine.jar
cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum-websocket\target"
start "WEBSOCKET" java -jar loremIpsum-websocket.jar
cd "C:\work\clientes\loremIpsum\loremIpsum-loremIpsum\dandelion-workflow-engine\target"
start "WORKFLOW-ENGINE" java -jar loremIpsum-workflow-engine.jar
exit我想要制作一个只关闭这4的脚本。我尝试过使用wmic:
@echo off
wmic process where "name like '%java%'" delete
exit但我不希望它关闭我的另一个java aplications,只有这4
发布于 2018-07-23 08:24:21
最有可能唯一和已知的命令行是它的结尾,例如-broker.jar。因此,通配符%应该表示命令行的开头,即%-broker.jar (在批处理文件%%-broker.jar__中加倍)。因此,您将使用以下内容:
WMIC Process Where "CommandLine Like '%%-broker.jar'" Call Terminate但是,我怀疑java.exe实际上通过单独的cmd.exe实例传递初始命令,在另一个窗口打开它,这可能会有问题,除非我们知道它传递了什么命令!
如果java命令实际上是在一个新的cmd.exe窗口中打开的,并且有您指定的窗口标题BROKER,那么您应该能够使用TaskKill终止它。也许是这样的:
TaskKill /F /FI "WindowTitle Eq BROKER" /T >Nulhttps://stackoverflow.com/questions/51440886
复制相似问题