나는 이미 당신이 그것을 시작할 때 시작되었는지 확인해야 자바 FX 응용 프로그램이 (당시 만 실행 단일 인스턴스가 필요합니다). 문제는 그것을 정의하는 방법입니다!프로세스 관리자에서 JavaFX 응용 프로그램을 찾는 방법은 무엇입니까?
내 JavaFX 응용 프로그램을 "javaw.exe"가 아닌 Windows 작업 관리자에서 "MyProg.exe"프로세스로 표시되는 .exe 파일 (또는 .exe 시작 프로그램)에 압축 해 보았습니다. 하지만 그것은 응용 프로그램에 jre를 추가하여 1 메가 바이트부터 확대하기 때문에 솔루션이 아닙니다 (netbeans 도구를 사용해 보았습니다). ~ 130 + MB. 내가 launch4j를 시도했습니다
(can you help me with it?)하지만, 실행 및 .EXE 패키지 모두 내 응용 프로그램을 실행하는 데 javaw.exe가 시작됩니다. 그리고 프로세스 관리자를 확인하고 2 javaw.exe를 보면 잘 모르겠다. 내 앱이 2 인스턴스인가, 아니면 다른 앱이 실행 중입니까?
가 나는 누군가가 나를 도울 수 있다면 매우 감사 할 것입니다 clearand 설명 바랍니다!
2 : 내 프로그램의 수명이 비극적으로 끝나면 (태스크 킬, OS 다시 시작) 레지스트리 종료시 레지스트리 항목을 삭제할 수 없으면 어떻게해야합니까? 다른 javaw.exe가 동일한 PID를 가질 수 있습니까? (여전히 가능합니다!) 레지스트리에 저장되어 장애가되어 내 앱을 시작합니까? – Chechulin
1 : Wmic에 대해 몰랐습니다. – Chechulin
@Chechulin : 예, 꽤 비극적 인 우연 일 수 있습니다. 그러나 당신은 프로세스 ID/이름/경로 접근법에서 확신 할 수 없습니다. 누군가는 javaw를 사용하여 자신과 정확히 동일한 이름으로 항아리를 실행할 수 있습니다. 소켓 또는 유사한 프로세스 간 통신 옵션을 사용하여 핸드 셰이크 프로토콜을 소개하는 것이 가장 완벽한 방법입니다. 따라서 시작중인 응용 프로그램은 이미 실행 된 상태를 확인할 수 있습니다. –