티스토리 뷰

도스 배치 파일(batch process file command) 명령어에서, 임시로 wait(일정 시간동안 기다리게 하는 명령) 명령어 구현하기(sleep)


PC에 서비스로 등록된 에이전트를 통해 톰캣을 재시작 하려고 했는데


서버를 shutdown 하고 Tomcat8.exe를 호출했다.


그냥 할때는 잘 됐는데 agent를 통해서 하면


80포트 사용하고 있어서 Tomcat8.exe가 호출이 안됬다..


최악의 상황이다. 톰캣 서버가 죽어만 있으니..


왜 그럴까 생각해봤는데 아직 shutdown이 안끝난 상태에서


서버를 킬려고 하니 80포트가 아직 안닫혀 있어서 그런것 같았다.


그래서 아직 해보진 않았지만 Tomcat8.exe 실행할때 약간의 delay를 주려고 했다.


1. choice 명령어 활용


choice /t 5 /d n


choice /t 5 /d n > nul

/t:n,[원하는 시간(초)] 옵션은, 원하는 시간동안 기다린 후, 자동으로 "N"을 입력한다는 겁니다.

> nul 리다이렉션(redirection)을 통해서 choice 명령어가 화면에 안보이도록 합니다.


※ 실제 동작 설명 : 10초를 기다린 후 자동으로 디폴트 값인 n을 입력한 것 처럼 동작하여, errorlevel값은 2번을 리턴합니다. 도스창에서 echo %errorlevel% 을 입력해보면 [y,n] 중 N이 두번째 값에 해당하므로 2를 리턴하는 것을 알 수 있습니다.


2. ping 명령어 활용


ping 127.0.0.1 -n 10 > nul


3. timeout 명령


timeout /t [원하는 시간(초)]


사용자 키입력이 있을 때 까지, 원하는 시간 만큼 대기합니다.


timeout /t [원하는 시간(초)] /NOBREAK


NOBREAK 옵션을 주면 사용자 키 입력을 무시하고, 원하는 시간만큼 대기합니다. 단, 중단하려면 CTRL+C 키를 눌러줘야합니다.


timeout /t [원하는 시간(초)] > nul

timeout /t [원하는 시간(초)] /NOBREAK > nul


리다이렉션을 활용하여, 화면 출력(stdout, Standard Output)을 널 장치(무(無/null) 도스에서 Redirection 시에는 nul)로 보내주면, 대기한다는 메시지 없이 해당 시간 만큼 기다리게 할 수 있습니다.


timeout /t -1


참조: http://hallang.tistory.com/248 [할랑할랑...]

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함