コマンドプロンプトを使用しているときに start
コマンドを実行すると、指定したプログラムを新しいコマンドプロンプト上で実行することができます。
例えば、下記のバッチファイルを実行すると、3つのコマンドプロンプトが新しく開き、timeout
コマンドが3つ並列に実行されます。
@echo off
start timeout /t 5
start timeout /t 5
start timeout /t 5
timeout
は 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
コマンドの詳しい使い方は下記を参照してください。