배치에서 명령 시간 초과 설정
이 문서에서는 먼저 Batch 스크립트의 timeout
명령 개념에 대해 설명합니다. 그런 다음 다른 명령에 대한 timeout
명령 설정에 대해 설명합니다.
배치 스크립트의 timeout
명령
timeout
은 특정 기간 동안 일시 중지하거나 지연시키는 유틸리티입니다. 이 명령은 일정량의 중단을 만들고 명령줄 인터페이스에서 일시 중지를 만듭니다.
timeout
명령의 구문은 다음과 같습니다.
timeout /t <time in seconds> [/nobreak]
timeout
과 /t
명령은 <time in seconds>
, 지연 생성을 위한 시간(초)을 나타내는 -1에서 100000 사이의 정수 및 선택적 매개변수 /nobreak
.
timeout
명령과 함께 -1
을 사용하면 키를 누를 때까지 무기한 지연이 발생합니다.
다음 timeout
명령을 고려하십시오.
timeout /t 5
timeout /t 5
명령은 5초 또는 아무 키도 누르지 않을 때까지 지연됩니다. 명령의 출력은 다음과 같습니다.
선택적 매개변수 /nobreak
는 timeout
명령에 의해 생성된 지연 동안 키 입력을 무시하는 데 사용됩니다. 예를 들어 다음 명령을 고려하십시오.
timeout /t 5 /nobreak
다음 명령의 출력은 다음과 같습니다.
timeout
명령 메시지도 숨길 수 있습니다. timeout /t 5 > nul
명령은 출력 메시지를 nul
로 리디렉션하여 timeout
명령의 메시지를 숨기는 데 사용됩니다.
기타 명령 또는 프로세스에 대해 timeout
설정
다른 사용자 지정 명령이나 프로세스에 대한 시간 초과를 지연시킬 수 있습니다. 다음 Batch 스크립트를 고려하십시오.
@echo off
start notepad.exe
timeout /t 4
taskkill /f /im notepad.exe > nul && (
echo Task is killed.
exit /b 31744
) || (
echo No Command or Task to kill. The task is terminated in time.
)
위의 Batch 스크립트에서 @echo off
명령을 사용하여 명령 프롬프트에서 실행 중인 명령을 숨깁니다. start notepad.exe
명령은 프로세스를 시작하고 메모장 편집기 창을 시작하는 데 사용됩니다.
timeout /t 4
명령은 4초를 지연시킨 다음 taskkill
명령을 실행하여 notepad.exe
프로세스가 아직 종료되지 않은 경우 종료합니다.
또한 이 스크립트는 Task is killed.
을 보여줍니다. 터미널에서 taskkill
명령이 notepad.exe
프로세스를 종료하는 경우.
timeout
지연 동안 notepad.exe
가 이미 종료된 경우 taskkill
명령은 notepad.exe
를 종료하지 않고 다음 출력과 함께 오류 메시지를 표시합니다.
No Command or Task to kill. The task is terminated in time.