2012-02-28 3 views
1

콘솔을 통해 때때로 죽일 필요가있는 배치 파일을 통해 Java 응용 프로그램 세트를 실행하고 있습니다. 그러나 작업 관리자에서이 모든 응용 프로그램을 java.exe으로 표시하는 반면 응용 프로그램 탭에서는 특정 이름을 표시합니다. 응용 프로그램 탭에서 응용 프로그램의 프로세스 ID를 가져와 해당 응용 프로그램을 기반으로 응용 프로그램을 종료 할 수 있도록해야합니다. 다시 말하면, 응용 프로그램 이름 만 있고 다른 세부 정보는 없습니다. 그리고 vb.net에서이를 기반으로 PID를 얻는 방법은 무엇입니까? 사전특정 Java 응용 프로그램을 죽이려면

감사 Sathya.M

+0

좋은 지적. (+1). jps를 완전히 잊었습니다. – AlexR

+0

모든 Java 응용 프로그램의 시작 클래스는 같은 이름입니다. 하지만 jps에 대해서는 몰랐습니다. 그것을하는 방법? – Sathya

+0

@Sathya : http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html – RanRag

답변

3

에서

덕분에이 스레드에서 살펴 보자 : How can a Java program get its own process ID?

이 정확한 중복되지 않습니다. 어플리케이션이 어떻게 PID를 발견 할 수 있는지에 대한 질문에 답합니다.

실행중인 모든 응용 프로그램이 자신의 것일 경우 코드를 수정하여 PID를 읽고 다른 프로세스 (예 : 파일에 기록)로 전달할 수 있습니다. 프로세스가 자신의 프로세스가 아니라면 JMX를 사용하여 응용 프로그램에 원격으로 연결하고 해당 PID를 검색 할 수 있습니다.

+0

+1 java.lang.management 패키지의 경우 :-) –

관련 문제