2017-04-26 2 views
1

저는 메서드를 호출하고 별도의 자바 프로세스에서 실행되는 자바 프로세스에서 변수를 편집하려고합니다.실행중인 Java 프로세스에 연결 하시겠습니까?

예 : 프로세스 1에는 클래스에 정의 된 개인 변수 인 String 변수가 인쇄됩니다. 프로세스 2 (시작된 경우)는 String 메시지를 변경하고 프로세스 1은 변경된 변수를 계속 인쇄합니다.

이것은 내가 시도하고있는 것의 단순한 버전이지만, 알아낼 수 있다면 쉽게 나머지를 직접 찾을 수 있습니다.

감사합니다! Erouax

+0

어쩌면 이것 좀 봐 : http://stackoverflow.com/questions/10942427/how-to-have-2-jvms-talk-to-one-another – mdewit

+0

@mdewit 불행히도 내가 뭘하는지 :/ – Erouax

+0

이것 좀보세요 : http://stackoverflow.com/questions/22441878/attach-to-already-running-jvm – raven1981

답변

0

답변을 찾았을 때 내 질문에 대해 완전히 잊어 버렸기 때문에이 내용을 추가하면됩니다.

자바 에이전트를 사용하고 핫스팟 어 태치 API와 같은 것을 사용하여 주입하는 것은 매우 쉽습니다. 이것은 매우 '탐지 가능한'방법이지만 여전히 작동합니다. 어떤 이유에서 건 주입을 좀 더 낮게 유지하고 싶다면, DLL 주입을 사용하여 클래스에서 척하고 JNI를 사용하여 DLL에서 입력 메소드를 호출하는 것이 좋습니다. 이 DLL과 인젝터는 아주 쉽게 받아 들일 수 있으며 심지어 네이티브 지식이 있으면 쉽게 만들 수 있습니다.

관련 문제