윈도우에서 일괄 작업을 위해 bat파일을 생성했을 경우 실행하는 프로그램이 종료되지 전까지 cmd창이 떠 있게 됩니다. 이번 글에서는 cmd창 없이 bat파일을 실행하는 방법을 설명합니다.
백그라운드로 실행하는 batch 만들기
START /b 로 실행하게 되면 백그라운드 실행이 가능합니다. 하지만, 잠깐 동안 cmd 창이 떴다가 사라집니다.
그리고, START /b cmd /c 로 실행하게 되면 백그라운드로 실행이 가능합니다. 하지만, cmd 창을 계속 떠 있게 됩니다.
아래는 백그라운드로 java 를 실행하기 위해 생성한 bat 파일입니다.
@echo off
SET CLAZZ=kr.ejsoft.tunnel.server.Application
SET BASEPATH=.........
SET CLASSPATH=kr.ejsoft.tunnel.server-0.0.1-SNAPSHOT.jar
SET CLASSPATH=%CLASSPATH%;log4j-api-2.10.0.jar
SET CLASSPATH=%CLASSPATH%;log4j-core-2.10.0.jar
SET CLASSPATH=%CLASSPATH%;log4j-slf4j-impl-2.10.0.jar
SET CLASSPATH=%CLASSPATH%;slf4j-api-1.8.0-alpha2.jar
SET OPTIONS=-Djavax.net.ssl.keyStore=client.keystore
SET OPTIONS=%OPTIONS% -Djavax.net.ssl.keyStorePassword=changeit
SET OPTIONS=%OPTIONS% -Djavax.net.ssl.trustStore=cacerts.keystore
SET OPTIONS=%OPTIONS% -Djavax.net.ssl.trustStorePassword=changeit
SET COMMAND=java -classpath %CLASSPATH% %OPTIONS% %CLAZZ% local tunnel-port host port
CD %BASEPATH%
ECHO %COMMAND%
REM @START /b cmd /c %COMMAND%
@START /b %COMMAND%
exit 0
창 없이 실행을 위한 VB스크립트 만들기
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "........\tunnel.bat", "/c lodctr.exe /r" , "", "runas", 0
생성된 VB스크립트를 실행하면 cmd 창 없이 프로세스가 백그라운드로 시작됩니다.
참고자료
- 윈도우 배치파일 (.bat) 백그라운드 실행 방법 - cmd 창 안 열리게 실행하기
coconuts.tistory.com/305 - [Batch Script] Background로 명령어 실행
hakurei.tistory.com/49
728x90
'Tips, Tricks > Server, Windows, Linux' 카테고리의 다른 글
Nginx에서 WebSocket 사용하기(Using WebSocket with Nginx) (0) | 2021.09.30 |
---|---|
Automatic .bat file execution when Windows starts(윈도우 시작시 자동으로 bat파일 실행하기) (0) | 2021.03.26 |
Registering and using the service on CentOS 7(CentOS 7에 서비스 등록하고 사용하기) (0) | 2021.03.26 |
Linux Shell Script with start/stop(시작/종료 쉘스크립트 만들기) (0) | 2021.03.26 |
Install NginX on CentOS 7(CentOS 7에 NginX 설치하기) (0) | 2021.03.26 |