Eclipse에서 java로 코드를 작성하고 두 번째로 실행하면 첫 번째 프로세스가 여전히 실행 중입니다. 예를 들어, 일부 인쇄물과 함께 무한 루프를 작성하고 한 번 실행 한 다음 다시 실행하면 첫 번째와 두 번째 실행에서 모두 인쇄됩니다. 또한 Eclipse가 느려지고 있습니다. 다시 실행할 때 첫 번째 프로세스를 자동 종료하는 방법이 있습니까?Eclipse : 자동 종료 (java)
답변
디버그 뷰의 항목을 마우스 오른쪽 버튼으로 클릭하고 "실행 종료 및 재시작"을 선택할 수 있습니다. 즉, 현재 실행중인 인스턴스를 중지하고 시작하려고하는 것과 가장 가까운 것입니다. 같은 설정으로 새로운 하나.
그 외의 경우 인스턴스 자체가 수신 대기하는 소켓과 새 인스턴스가 완전히 시작되기 전에 종료 명령을 보내는 소켓과 같이 구현해야합니다.
짧은 답변 :
이동 창 로는 -> 디버그 프로그램을 선택하고 종료 ->보기를 표시합니다.
긴 설명 : 문제의 설명으로
, 당신은 아마 스레드를 사용하는 프레임 워크를 사용하는 (당신은 당신의 게임에서 스윙을 사용하고 있습니까?). 디버그 뷰에서 실행중인 스레드를 볼 수도 있습니다.
JVM은 모든 사용자 스레드가 완료 될 때까지 프로세스를 종료하지 않습니다.
스윙을 사용하는 경우 JFrame setDefaultCloseOperation을 사용하여 창 닫기의 기본 동작을 변경할 수 있습니다.
또는 System.exit(0)을 사용하여 JVM 프로세스를 종료 할 수 있습니다.
합의가 불가능한 것 같습니다. 스크립팅 배경에서 오는 많은 수동 테스트를 수행하는 데 익숙하며 거의 모든 변경 사항으로 프로그램을 컴파일하는 것이 좋습니다.
다음 클래스 (Bomber)는 10 분 후에 System.exit (0)을 만듭니다. Main에 Bomb 객체를 던지기 만하면 Bomber daBomb = new Bomber();
과 daBomb.reset();
을 트리거하여 타이머를 재설정하십시오. 창턱에서 파리처럼 수집되면 콘솔 탭 막대에있는 이중 X ()를 클릭하여 모두 죽은 프로세스의 콘솔을 닫습니다.
public class Bomber {
Bomb bomb = new Bomb();
public Bomber() throws InterruptedException {
Thread thread = new Thread(bomb);
thread.start();
}
public void reset() {
bomb.reset();
}
//kill because someone cut the redwire!
public void redWire() {
bomb.timer = 1000;
}
//Defuses bomb
public void greenWire() {
reset();
bomb.greenWire=false;
}
public class Bomb implements Runnable {
public int timer;
public boolean greenWire;
public Bomb() {
reset();
greenWire=true;
}
public void run() {
try {
while (timer > 1) {
Thread.sleep(1000L);
timer = timer - 1000;
//System.out.println(timer);
}
if (greenWire) {
System.exit(0); // kill, because no-one cut the green wire.
}
} catch (InterruptedException iex) {
}
}
public void reset() {
timer = 3000000; // five minutes
// timer = 5000; // Five seconds
}
}
}
폭격기 기능을 얼마나 정교하게 통합하고 싶은지는 사용자에게 달려 있습니다. 나는 Main을위한 함수를 만들었다. 다음 코드는 완벽하게 작동하지 않을 수 있습니다. 핵심 코드가 아닌 코드를 찢어 내고 코드가 제대로 작동하는지 테스트하지 않았기 때문입니다.
public static void startUp() throws InterruptedException {
Bomber daBomb = new Bomber();
String input = "";
Interpreter console = new Interpreter();
while (!input.equalsIgnoreCase("quit")) {
daBomb.reset();
input = terminal.next().toLowerCase();
}
daBomb.redWire();
}
스크립팅 배경과 자주 다시 실행 내 경우입니다. 흥미로운 솔루션. 나는 시도 할 것이다.감사합니다 – grxx
예, JUnit은 훌륭합니다. – Indolering
- 1. Eclipse 용 Java SWT 자동 완성
- 2. Eclipse - Eclipse 종료/종료시 작업 실행
- 3. VS 솔루션 자동 종료
- 4. 자동 종료 QMessageBox
- 5. 정상적인 자동 종료 동작입니까?
- 6. Java - Eclipse : 외부화 문자열?
- 7. Eclipse 리팩터링 - Java Java
- 8. Eclipse "가상 머신 대기 종료"
- 9. Eclipse Debugger가 종료 직전에 중지합니다.
- 10. eclipse (java)
- 11. Eclipse Groovy 및 자동 완성
- 12. Eclipse : 즉각적인 자동 완성
- 13. Eclipse 플러그인 : 자동 완성 (
- 14. Java 명령 프롬프트 종료
- 15. Java TCP 스트림 종료
- 16. Windows 종료시 Java 종료
- 17. 자동 종료 GWT의 알림 창
- 18. Eclipse Java Deployment : Jar 파일에 자동 생성 파일을 추가하는 방법
- 19. Java Eclipse 해부 Java 예외
- 20. 자동 종료 또는 제거 Windows 서비스
- 21. Eclipse CDT (C++)의 자동 버전 증가
- 22. Eclipse 컨텐츠는 CSS 자동 활성화를 지원합니까?
- 23. Java : Eclipse - Diff Trace
- 24. Java Eclipse SDK 시작하기
- 25. Eclipse Java EE 플러그인
- 26. Eclipse java editor bar
- 27. Eclipse 참조 Java 자원
- 28. Eclipse Java -> 클래스
- 29. Java generics ECLIPSE bug?
- 30. Eclipse + Java - SplashWindow
Terminate and Relaunch는 좋으며, 바로 가기를 설정하면 괜찮습니다! 고맙습니다. – grxx