배치에서 명령 시간 초과 설정

Dr. Muhammad Abdullah 2024년2월15일
  1. 배치 스크립트의 timeout 명령
  2. 기타 명령 또는 프로세스에 대해 timeout 설정
배치에서 명령 시간 초과 설정

이 문서에서는 먼저 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초 또는 아무 키도 누르지 않을 때까지 지연됩니다. 명령의 출력은 다음과 같습니다.

배치 시간 초과 - 출력 1

선택적 매개변수 /nobreaktimeout 명령에 의해 생성된 지연 동안 키 입력을 무시하는 데 사용됩니다. 예를 들어 다음 명령을 고려하십시오.

timeout /t 5 /nobreak

다음 명령의 출력은 다음과 같습니다.

배치 시간 초과 - 출력 2

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.