与 ubuntu 命令 timeout 5s a.exe < input.txt 等效的 windows cmd 命令是什么

与 ubuntu 命令 timeout 5s a.exe < input.txt 等效的 windows cmd 命令是什么

我正在为我的大学开发一个在线评委。我需要在 5 秒后让每个程序超时以测量时间限制。我的输入是 input.txt 文件,我正在通过以下命令在 ubuntu 中编译并获取输出

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

这些命令只允许 CPU 运行程序 5 秒。现在我需要 Windows cmd 的等效命令。

编辑 :

这个问题与上一个问题不同,因为 Windows 超时过程与 ubuntu 超时过程不同。Windows 超时过程只是等待,但没有设置执行的明确时间。如果在超时之前执行完成,则 Windows 超时仍会等待,而 ubuntu 超时会为程序执行设置明确时间并在执行后终止,但不会等待程序终止。所以如果执行完成,我想停止等待。

答案1

解决方案 :

顺便说一句,我找到了解决方案。在 Windows 中,需要创建三个批处理文件

进程

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

命令行工具

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

运行脚本

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

EXIT

现在运行 process.bat 。它将同时/并行启动 cm.bat 和 run.bat。当 cm.bat 中的 a.exe 终止时;cm.bat 将终止 run.bat,因此它将作为 ubuntu 超时运行。

相关内容