2016-07-27 2 views
0

나는 자바 프로그램을 가지고 있고 리눅스에서 실행 중이다. 프로그램 실행이 완료되면 해당 프로그램에서 나와야하며 프롬프트가 표시되어야합니다. 그러나 그것은 일어나지 않습니다. 나는 System.exit (0)을 나의 메인 메소드의 끝에 사용했다. 그러나 여전히 운이 없다. Enter 키를 누르면 제어가 나옵니다. 같은 프로그램이 좋은 Windows 환경에서 작동합니다. 내 코드를 여기에 붙여 넣을 수 없다. 어떻게 처리해야 하는가?리눅스 프롬프트에서 java 프로그램을 종료하는 방법

감사합니다, 아 디트

+1

에서 제거했습니다. 디버깅 도움말 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에 원하는 동작, 특정 문제 또는 오류가 포함되어 있어야하며 질문 자체에서 그것을 재현하는 데 필요한 가장 짧은 코드. 분명한 문제 성명이없는 질문은 다른 독자에게 유용하지 않습니다. 참조 : [mcve]의 – CollinD

+1

가능한 복제 [리눅스 스크립트는 자바 프로세스를 죽일] (http://stackoverflow.com/questions/13711855/linux-script-to-kill-java-process) – Julian

+0

당신은 당신의 프로그램을 디버깅해야합니다 그것이 종료되지 않는 이유를 알아 내야합니다. 모든 데몬이 아닌 스레드가 종료되거나 System.exit()을 호출 한 후에 종료되어야합니다. – Bill

답변

0

는 근본 원인을 얻었다. 배치 파일을 통해 내 프로그램을 실행하려고하는데 다음 명령을 실행하도록 지정했습니다.

CMD = ""$ JRE_BIN_PATH/자바 "$의 SP $의 TSSHDEBUG -cp $으로의 CP org.test.MainClass"$의 @ ""

[ "$ 1"== '런'] & & [ "만약 $ 2 "== '서버'] 다음 $ CMD & I가 System.exit와 추가 한

(0); 내 코드에서 '&'명령을 '$ CMD &'