보통 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..
'Language > Java' 카테고리의 다른 글
[펌] BufferedReader와 RandonAccessFile을 연계한 대용량 파일 처리 (0) | 2012.05.21 |
---|---|
[펌] RandomAccessFile과 BufferedReader의 한계점과 해결 방안 (0) | 2012.05.21 |
[펌] 프로그램의 프로세스를 하나만 허용하기 (0) | 2012.05.05 |
[펌] Interrupting Java threads (0) | 2012.04.03 |
[펌] Shutting Down Threads Cleanly (0) | 2012.04.03 |