Windowsコマンドラインの時間制限


9

Windowsでコマンドラインプログラムの実行時間を制限するにはどうすればよいですか?Linuxではタイムアウト/制限時間を利用できることを知っていますが、Windows用の同様のユーティリティを見つけることができませんでした。


これを行うには、PowershellまたはPythonスクリプトを作成することをお勧めします。
画期的な

回答:


9
start yourprogram.exe
ping 127.0.0.1 -n 10
taskkill /im yourprogram.exe

これをメモ帳に入れて保存すると、.batこれを行うバッチファイルが作成されます。

例として10秒を使用しましたが、必要に応じて調整してください。

また、Vista以上をping使用している場合は、行をスクラップして、そのtimeout場所ではるかに簡単なコマンドを使用できます。

timeout /t 10

1
これはプログラムの引数と複数のインスタンスをどのように処理しますか?スタートは... PIDが、そのような運を返す場合、それは素敵なのだろう

で引数を渡すことができますstart yourprogram.exe yourarguments。そうですねtaskkill、PIDで強制終了するオプションがありますがtasklist、複数のインスタンスがある場合は、最初に名前に基づいてそれを抽出する必要があります。これはcmdの制限にすぎません。
バリC

1
+1タイムアウトタイマーとしてpingを使用するのはおもしろい考えです:)
kol

コマンドに追加> NULして、ping出力を圧縮します。
starbeamrainbowlabs

4

私はそのようなA関数が存在があるようだけど、あなたはそれはあなたが、実行の制限を設定すると名付け設定することができ、そこから、タスクスケジューラを経由して、Windowsのタスクとして実行させる場合、私はそれのなんとかだと思うよう:それは実行する場合、タスクを停止より長い:、ここから詳細を取得できます:http : //technet.microsoft.com/en-us/library/cc722178.aspx


3

PowerShellを使用して $app = Start-Process -PassThru -FilePath 'notepad' -ArgumentList 'test.txt'わずらわしい場合は、test.txtの引数でメモ帳を起動します(複数の引数をで区切ることができます),

Start-Sleep -Seconds 10 10秒間寝ます。

開始されたアプリケーションを強制終了するか$app.Kill()、強制終了taskkill /PID $app.Idします。

PowerShellを呼び出すだけでプロセスを開始し、そのPIDを変数に格納するcmdソリューションが必要な場合 for /F %A in ('powershell -Command "(Start-Process -PassThru -FilePath 'notepad' -ArgumentList 'test.txt').Id"') do set PID=%A(.bat / .cmdから呼び出された場合は、の%%A代わりに使用する必要があります%A)。次に、@ BaliCのタイムアウトのメソッドを使用taskkill /PID %PID%して、起動したアプリケーションを強制終了できます。


1

解決 :

Windowsでは、3つのバッチファイルを作成する必要があります。

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

ここでprocess.batを実行します。cm.batとrun.batの両方を同時に/並列に開始します。cm.batのa.exeが終了したとき。cm.batはrun.batを強制終了するため、ubuntuタイムアウトとして機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.