0

I supposed to close a process (java). This process is invoked by a batch file. The batch file title is "Secondary Push"

When i double the batch file, it opens a command prompt and records the log.

-How to close the java process ?? -How to get the process id of the particular java process... using command prompt. Not by Task Manager.

4

3 回答 3

3

Tasklist将向您展示详细信息。

@ECHO OFF
SETLOCAL
SET "underline="
SET "mypid="
FOR /f "skip=2delims=" %%u IN ('tasklist/v') DO IF NOT DEFINED underline SET underline=%%u
FOR /f "delims=" %%u IN ('tasklist/v^|find /i "GPU Client"') DO IF NOT DEFINED mypid SET mypid=%%u
:loop
IF "%underline:~0,1%"=="=" SET underline=%underline:~1%&SET mypid=%mypid:~1%&GOTO loop
FOR %%u IN (%mypid%) DO IF DEFINED underline SET mypid=%%u&SET "underline="
echo Target process ID=%mypid%
GOTO :EOF

这应该让进程 ID 为TASKKILL. 该字符串GPU Client应替换为标识您希望终止的 java 进程的 uniwue 字符串,您应该能够tasklist从提示的列表中派生该字符串。

 tasklist /v

报告标题下出现的下划线长度根据当前运行的任务的最长名称的长度而有所不同,tasklist /v因此下划线适用于行中的空格被找到。underlinemypid=

这时候,mypid任务名会被剪掉,所以它的第一个标记是 PID。

于 2013-06-20T07:23:00.430 回答
0

您可以使用TasklistTaskkill

于 2013-06-20T07:24:33.583 回答
0
taskkill /im java*

应该杀死Java进程。

于 2013-06-20T07:35:21.353 回答