windows에서 java application을 background에서 실행
보통 java application을 실행할 때 java.exe를 이용해서 실행한다.
하지만, java.exe 는 console window command 이므로 java.exe 를 이용해서 application을 실행한 후 cmd 창을 닫게되면 해당 application이 같이 종료되게 된다.
Background로 실행하기 위해서 Unix에서는 & 명령어를 이용해서 쉽게 실행가능 하지만, Window에서는 어떻게 해야 할지에 대해서 한참을 구글링해야만 했다.
알고나면 쉬운 것을 알기 전까지는 왜 이렇게 어려운 것일까?...ㅠㅠ
console window를 종료하더라도 실행한 application이 종료되지 않게 background 로 실행시키려면 javaw.exe를 이용하면 된다.
e.g: javaw.exe MyJavaApp
하지만, background로 실행된다고 하더라도 windows 의 경우 보통 .bat 파일을 이용해서 java application을 실행하게 되므로 위와 같은 명령어로 작성된 bat 파일은 open된 console window가 닫히지 않고 열린채 그대로 있게 된다.
그럴때에는 javaw.exe 명령어 앞에, start /B 를 추가해서 실행해 주면 java application 실행 후 자동으로 cmd 창이 닫혀지게 된다.
e.g: start /B javaw.exe MyJavaApp
e.g: RunJavaAppOnCMD.bat - console window mode java application execution.
java MyJavaApp
e.g: RunJavaAppInBackgroundAndNotCloseCMD.bat - background mode java application execution.
javaw MyJavaApp
e.g: RunJavaAppInBackgroundAndCloseCMD.bat - background mode java application execution and close console automatically.
start /B javaw MyJavaApp
참조:
"javaw.exe" belongs to Java from Sun Microsystems, Inc..
The javaw.exe command is identical to java.exe, except that with javaw.exe there is no associated console window. This implies you can't get it to display the version with -version, since there is no console to display it on. Use javaw.exe when you don't want a command prompt window to appear. The javaw.exe launcher will, however, display a dialog box with error information if a launch fails for some reason.
[출처]http://blog.daum.net/oiztlomo/4609505
'개발 > Java' 카테고리의 다른 글
클래스 동적 로딩하기 (0) | 2015.06.01 |
---|---|
JSTL 요약 (0) | 2014.08.05 |
java 화면캡쳐 샘플 (0) | 2013.12.04 |
Java Process Kill Script (0) | 2013.09.04 |
jdom을 이요한 XML 쓰기와 읽기 (0) | 2013.08.23 |