2017-01-02 9 views
0

Java 응용 프로그램에 PID을 할당하고 (가능한 경우) 다른 모든 javaw.exe를 종료합니다.PID java 응용 프로그램 및 kill

Runtime.getRuntime().exec("taskkill /F /IM javaw.exe"); 

또는

Runtime.getRuntime().exec("taskkill /F /PID <ID>"); 

PID

나는이 모든 javaw.exe가를 죽일 것을 알고,하지만 난 여전히 실행 내 응용 프로그램이 필요합니다.

특정 Java 응용 프로그램을 종료해야하지만 임의의 PID 할당이 필요합니다. 가장 쉬운 방법은 모든 Java 응용 프로그램 닫기 광산을 제외하고 실행합니다.

+1

PID에 의한 살인은 필수 사항입니까? 그렇지 않은 경우 소켓을 열고 종료 명령을 수신하는 것이 훨씬 더 깔끔한 솔루션입니다. – PeterMmm

+0

안녕하세요, 그렇지 않습니다. 리드 주셔서 감사합니다! – BoB3R

+1

PID는 커널에 의해 주어집니다. "java -classpath ./lib com.package.MyApp key1 = val1 key2 = val2 processidenfier = abcxyz123"응용 프로그램을 시작할 때 no-op 식별자 인수를 추가하십시오. 전체 인수 목록을 가진 프로세스를 나열하고, PID가 활성 java.exe 프로세스를 건너 뛰고 하나씩 제거하십시오. 또는 JNI/JNA를 사용하여 현재 pid를 읽을 수 있습니다. http://stackoverflow.com/questions/35842/how-can-a-java-program-get-its-own-process-id – Whome

답변

0

나는 조금 다릅니다. 나는 모든 자바 프로세스와 PID를 끝에 나열하기 위해 "wmic"을 사용했다. 나는 마지막 숫자를 가져 가서 그들을 죽이고있다.

wmic process where "name like '%javaw%'"