別のコマンドプロンプトを開いて並列実行
コマンドプロンプトを使用しているときに start コマンドを実行すると、指定したプログラムを新しいコマンドプロンプト上で実行することができます。
例えば、下記のバッチファイルを実行すると、3 つのコマンドプロンプトが新しく開き、timeout コマンドが 3 つ並列に実行されます。
@echo off
start timeout /t 5
start timeout /t 5
start timeout /t 5timeout は Windows に標準で付属しているコマンドで、timeout /t 5 のように実行すると、5 秒間のカウントダウンを行います。同じコマンドプロンプト内で並列実行
新しいコマンドプロンプトを開かずに、同じコマンドプロンプト内で任意のプログラムを並列実行したいときは、start コマンドに /b オプションを付けて実行します。
@echo off
start /b timeout /t 5
start /b timeout /t 5
start /b timeout /t 5上記のバッチファイルを実行すると、実行開始したコマンドプロンプト上で、timeout /t 5 コマンドが並列実行されます。
C:\> sample2
5 秒待っています。続行するには何かキーを押してください ...
5 秒待っています。続行するには何かキーを押してください ...
5 秒待っています。続行するには何かキーを押してください ...
バックグラウンドで実行されているプロセスを終了する
start /b によってプロセスを開始すると、ウィンドウを開かずにバックグラウンドで実行されるようになるため、Ctrl + C による強制終了ができなくなります。
例えば、バックグラウンドで server.exe というプログラムを起動した場合に、そのプロセスを終了するには下記のようにします。
tasklist /fi "imagename eq server.exe"でserver.exeのプロセス ID を調べるtaskkill /f /pid 1234のようにプロセス ID を指定してプロセスを強制終了する
tasklist コマンドや taskkill コマンドの詳しい使い方は下記を参照してください。