Cmd 프롬프트에서 - 프로그램 종료 시간을 어떻게 정합니까?

Cmd 프롬프트에서 - 프로그램 종료 시간을 어떻게 정합니까?

명령 프롬프트를 사용하여 60초 안에 프로그램을 닫는 방법을 알고 싶습니다. 컴퓨터 시간 종료(shutdown /s /t ) 및 작업과 유사합니다.

어떤 아이디어가 있나요? 이것이 가능한가?

답변1

어떻게 하면 60초 안에 프로그램을 닫을 수 있나요?

ping또는 를 사용하여 timeout시간 지연을 생성 할 수 있습니다 .

  • timeoutWindows XP에서는 사용할 수 없습니다.
  • timeout카운트다운을 제공합니다.

ping해결책

60초 후에 종료하려면 notepad다음 명령을 사용하십시오.

ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe

메모:

  • pings 사이에 1초의 지연이 있으므로 61개의 핑이 필요합니다 .

예:

F:\test>time /t && ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe && time /t
17:56
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 8084.
17:57

루프백 주소를 사용하여 PING 명령을 사용하여 지연을 생성할 수도 있으며, 각 연속 핑 사이에는 1초의 지연이 있습니다. 테스트에서 PING은 Sleep.exe 또는 Timeout.exe보다 적은 프로세서 시간을 소비하므로 다른 프로세스가 백그라운드에서 실행될 수 있습니다. PING 명령은 Ctrl-C로만 중단할 수 있습니다. 출처: Clay Calvert(유즈넷 2001.)

예를 들어 40초 지연의 경우:

핑 -n 41 127.0.0.1>널

원천시간 초과


timeout해결책

60초 후에 종료하려면 notepad다음 명령을 사용하십시오.

 timeout /t 60 && taskkill /im notepad.exe

노트:

  • timeoutWindows XP에서는 사용할 수 없습니다.
  • timeout제대로 구현되지 않았습니다. "시간 초과 1"을 수행하면 "다음 초"까지 기다리게 되며 이는 0.1초 안에 발생할 수 있습니다. "timeout 1"을 몇 번 시도해보고 지연의 차이를 관찰하십시오. 5초 이상은 별 문제가 안 되지만, 1초 정도 지연되면 제대로 작동하지 않습니다.

예:

F:\test>time /t && timeout /t 60 && taskkill /im notepad.exe && time /t
18:07

Waiting for  0 seconds, press a key to continue ...
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 5412.
18:08

추가 자료

답변2

사용해 보세요작업 스케줄러.

  1. 원하는 프로그램이 시작될 때 이벤트가 발생하도록 이벤트 로깅을 구성합니다.
  2. #1의 특정 이벤트가 기록될 때 실행되도록 예약된 작업을 구성합니다. 예약된 작업에서는 지연을 설정할 수 있으며(귀하의 경우 60초) 모든 명령/스크립트를 실행할 수 있습니다.

답변3

내 예를 들어보세요.

choice /t 5 /d a /c ab /n >nul & taskkill /im URprocess.exe

설명: "choice"는 5초 동안 기다렸다가 종료된 후 taskkill이 "URprocess"를 닫습니다.

답변4

Windows 10과 함께 제공되는 scriptrunner.exe를 사용합니다. 내 것을 검색해야 했는데 경로에 없었습니다. 다음에서 문서를 찾을 수 있습니다.https://ss64.com/nt/scriptrunner.html

나는 종종 많은 eBook을 epub으로 변환하지만 변환이 중간에 중단되는 경우가 많습니다. 그래서 다음 내용으로 배치를 만들었습니다.

@echo off
for /F "delims=" %%a in (files.txt) do (
  if not exist "%%a.epub" ScriptRunner.exe -appvscript "c:\Program Files (x86)\calibre2\ebook-convert.exe" "%%a" "%%a.epub" -appvscriptrunnerparameters -timeout=60
  if exist "%%a.epub" del "%%a"
)

Files.txt에는 변환해야 하는 경로가 있는 모든 파일이 포함되어 있습니다. 변환을 수행하려면 caliber의 ebook-convert.exe를 사용합니다. 인수 -timeout=60은 실행이 중지된 후의 시간(초)입니다(여기서는 60). 변환이 더 일찍 준비되면 다음 줄이 실행됩니다.

이 모든 것이 잘 작동합니다.

관련 정보