回答:
start yourprogram.exe
ping 127.0.0.1 -n 10
taskkill /im yourprogram.exe
これをメモ帳に入れて保存すると、.bat
これを行うバッチファイルが作成されます。
例として10秒を使用しましたが、必要に応じて調整してください。
また、Vista以上をping
使用している場合は、行をスクラップして、そのtimeout
場所ではるかに簡単なコマンドを使用できます。
timeout /t 10
start yourprogram.exe yourarguments
。そうですねtaskkill
、PIDで強制終了するオプションがありますがtasklist
、複数のインスタンスがある場合は、最初に名前に基づいてそれを抽出する必要があります。これはcmdの制限にすぎません。
> NUL
して、ping
出力を圧縮します。
私はそのようなA関数が存在があるようだけど、あなたはそれはあなたが、実行の制限を設定すると名付け設定することができ、そこから、タスクスケジューラを経由して、Windowsのタスクとして実行させる場合、私はそれのなんとかだと思うよう:それは実行する場合、タスクを停止より長い:、ここから詳細を取得できます:http : //technet.microsoft.com/en-us/library/cc722178.aspx
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%
して、起動したアプリケーションを強制終了できます。
解決 :
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タイムアウトとして機能します。