Was ist der Befehl Windows cmd, der dem Befehl ubuntu timeout 5s a.exe <input.txt entspricht?

422
shawon

Ich entwickle einen Online-Richter für meine Universität. Ich muss jedes Programm nach 5 Sekunden zur Zeitbegrenzung abbrechen. Meine Eingabe ist input.txt, und ich kompiliere und bekomme in Ubuntu durch diese Befehle eine Ausgabe

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

Diese Befehle ermöglichen es der CPU, Programme für nur 5 Sekunden auszuführen. Jetzt brauche ich gleichwertige Befehle für Windows cmd.

Bearbeiten:

Diese Frage unterscheidet sich von der vorherigen, da der Windows-Timeout-Prozess sich vom Ubuntu-Timeout-Prozess unterscheidet. Der Windows-Timeout-Prozess wartet nur, legt jedoch keine definierte Ausführungszeit fest. Wenn die Ausführung vor dem Timeout ausgeführt wird, wartet das Windows-Timeout immer noch, während Ubuntu-Timeout eine bestimmte Zeit für die Programmausführung festlegt und nach der Ausführung endet, aber nicht wartet, obwohl das Programm beendet ist. Ich möchte also aufhören zu warten, wenn die Ausführung abgeschlossen ist.

0
Ja. Dies sollte wieder geöffnet werden, da ich hart daran gearbeitet habe, die Lösung zu finden. shawon vor 7 Jahren 0
Gewählt, um wieder zu öffnen. Techraf zufolge sind wir ein bisschen anders als Foren - Super User ist eine Q & A-Site. Sie haben eine Antwort auf Ihre Frage gefunden, es ist nicht nur okay, sie als Antwort zu posten, sondern sie wird auch ermutigt: Es macht es anderen mit diesem Problem leichter zu erkennen, dass Sie tatsächlich eine Lösung gefunden haben. Darüber hinaus erhalten Sie für jede Antwort auf diese Antwort einen guten Ruf. Bitte posten Sie eine Antwort mit Ihrer Lösung und entfernen Sie sie von der Frage. gronostaj vor 7 Jahren 0
Es ist jedoch @gronostaj geschlossen shawon vor 7 Jahren 0
warum also nicht einfach die Antwort auf die andere Frage stellen? phuclv vor 7 Jahren 0
Du hast recht, Entschuldigung. Ich sollte ein bisschen schlafen;) gronostaj vor 7 Jahren 0
Wie ich sehe, haben Sie Ihre Antwort auf die markierte doppelte Frage gepostet. Bearbeiten Sie Ihre Frage, um die Antwort zu entfernen. Vielen Dank für Ihren Beitrag zu Super User. Twisty Impersonator vor 7 Jahren 0

1 Antwort auf die Frage

0
shawon

Lösung:

Übrigens habe ich meine Lösung gefunden. In Windows müssen drei Batchdateien erstellt werden

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 

Führen Sie jetzt process.bat aus. es startet gleichzeitig cm.bat und run.bat / parallel. Wenn a.exe von cm.bat beendet wird; cm.bat tötet run.bat und funktioniert somit als Ubuntu-Timeout.