2013-06-20 3 views
0

Я должен закрыть процесс (java). Этот процесс вызывается командным файлом. Название командного файла: «Вторичное нажатие»Taskkill: закрыть программу java

Когда я удваиваю командный файл, он открывает командную строку и записывает журнал.

-Как закрыть процесс Java? -Как получить идентификатор процесса конкретного java-процесса ... с помощью командной строки. Не диспетчером задач.

+0

В какой версии ms-dos работает java? – Mark

ответ

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 

Это должно получить идентификатор процесса, готовый к TASKKILL. Строку GPU Client следует заменить единичной строкой, идентифицирующей процесс Java, который вы хотите завершить, и вы должны получить из списка tasklist из приглашения.

tasklist /v 

Длина подчеркивания появляющегося под отчетом заголовка tasklist /v варьируется в зависимости от длины самого длинного названия задач, запущенных в данный момент, так что подчеркивание линии применяются к underline, выбранной детали строка mypid и затем первый символ каждой строки обрезается до тех пор, пока не будет найдено место в строке =.

В это время mypid будет иметь имя задачи, отстроенное, поэтому его первым токеном является PID.

+0

Спасибо peter ... – Razz

0

Вы можете использовать Tasklist и Taskkill.

+0

Может ли кто-нибудь предоставить пакетный скрипт, который идентифицирует процесс java-процесса и убивает этот процесс. Потому что мне нужно сделать это программно – Razz

+0

Вы можете выполнить команды cmd в java (http://stackoverflow.com/questions/4157303/how-to-execute-cmd-commands-via-java). –

0
taskkill /im java* 

должен убить процессы Java.

+1

это повлияет на другие запущенные java-программы – Razz

Смежные вопросы