O que é o comando cmd do Windows equivalente ao timeout do comando ubuntu 5s a.exe input.txt

0

Estou desenvolvendo um juiz on-line para minha universidade. Preciso tempo limite de todos os programas após 5 segundos para medir o limite de tempo. minha entrada é o arquivo input.txt e eu estou compilando e recebendo saída no Ubuntu por esses comandos

g++ -lm tle.cpp
timeout 5s a.exe < input.txt

Esses comandos permitem que a CPU execute programas por apenas 5 segundos. Agora eu preciso de comandos equivalentes para o Windows cmd.

Editar:

Esta questão é diferente da anterior, pois o processo de tempo limite do Windows é diferente do processo de tempo limite do ubuntu. O processo de tempo limite do Windows apenas aguarda, mas não define um tempo definido para execução. Se a execução é feita antes do tempo limite, o tempo limite do Windows ainda espera onde o tempo limite do ubuntu definir um tempo definido para a execução do programa e termina após a execução, mas não espera que o programa seja encerrado. Então, eu quero parar de esperar se a execução estiver concluída.

    
por shawon 09.02.2017 / 17:47

1 resposta

0

Solução:

Pelo Caminho, encontrei minha solução. No windows ele precisa fazer três arquivos em lote

process.bat

@ECHO OFF
start   /b cm.bat
start  cmd.exe /c run.bat
EXIT

cm.bat

@ECHO OFF
a.exe < input.txt > out.txt
taskkill /im a.exe /f
taskkill /im cmd.exe /f
EXIT

run.bat

@ECHO off
timeout /t 5
taskkill /im a.exe /f 
taskkill /im cmd.exe /f

EXIT

Agora, execute process.bat. ele iniciará cm.bat e run.bat simultaneamente / paralelamente. Quando a.exe do cm.bat termina; cm.bat mata o run.bat e, portanto, funcionará como o tempo limite do ubuntu.

    
por 11.02.2017 / 07:02