Windowsでは、実行中のアプリやプログラムをコマンドで終了させたい場合、WindowsコマンドやPowerShellコマンドレットを使って終了させることができます。
そこでここでは、WindowsコマンドやPowerShellコマンドレットを使って、実行中のアプリやプログラムを終了させる方法を紹介します。
目次
Windowsコマンドを使った方法
Windowsコマンドで、実行中のアプリやプログラムを終了させる場合は「taskkill」コマンドを使用します。
プロセス名を指定して終了
特定の名前のプロセス(アプリやプログラム)を終了させるには、次のように実行します。
なお、プロセス名には「*」などのワイルドカードを利用できます。
> taskkill /IM <プロセス名>
プロセスIDを指定して終了
上のプロセス名を指定する方法だと、同じプロセス名を持ったプロセスが複数あると、それらがすべて終了されます。
そこで、特定のプロセスだけ終了させたい場合は、プロセスIDを指定する方法を利用します。
> taskkill /PID <プロセスID>
プロセスIDは、tasklistコマンドで確認できます。
なお、tasklistコマンドをオプションを何もつけずに実行すると、実行中のすべてのプロセスが表示されて絞り込みにくいので、プロセスの状態やウィンドウタイトル名などでプロセスを絞り込みます。
たとえば、以下の例では、ウィンドウタイトルが「新しいテキスト」から始まるプロセスのみを表示できます。
> tasklist /FI "WINDOWTITLE eq 新しいテキスト*"
子プロセスを同時に終了
アプリやプログラムは、単独のプロセスとして実行されている場合もあれば、プロセスが別のプロセスを実行しているというように、プロセスが親子関係にある場合があります。
そんな場合は、親プロセスだけでなく、子プロセスも同時に終了させる必要があります。
その場合は「/T」オプションを付けることで、親プロセスだけでなく、子プロセスも同時に終了させることができます。
> taskkill /IM <プロセス名> /T
プロセスを強制終了
実行中のアプリやプログラムが応答しなくなった場合などで、プロセスを強制終了させたいときは「/F」オプションを付けて実行します。
> taskkill /IM <プロセス名> /T /F
PowerShellコマンドレットを使った方法
PowerShellコマンドレットで、実行中のアプリやプログラムを終了させる場合は「Stop-Process」コマンドレットを使用します。
なお、Stop-Processコマンドレットは、既定でプロセスを強制終了します。
プロセス名を指定して終了
特定の名前のプロセス(アプリやプログラム)を終了させるには、次のように実行します。
なお、プロセス名には「*」などのワイルドカードを利用できます。
PS> Stop-Process -Name <プロセス名>
プロセスIDを指定して終了
上のプロセス名を指定する方法だと、同じプロセス名を持ったプロセスが複数あると、それらがすべて終了されます。
そこで、特定のプロセスだけ終了させたい場合は、プロセスIDを指定する方法を利用します。
PS> Stop-Process -Id <プロセスID>
プロセスIDはGet-Processコマンドで確認できます。
なお、Get-Processコマンドをオプションを何もつけずに実行すると、実行中のすべてのプロセスが表示されて絞り込みにくいので、プロセス名でプロセスを絞り込みます。
たとえば、以下の例では、プロセス名が「note」から始まるプロセスのみを表示できます。
PS> Get-Process -Name note*
実行結果を出力
Stop-Processコマンドレットは、既定では終了させたプロセスの情報が出力されませんが「-PassThru」オプションを付けて実行することで情報を出力できます。
PS> Stop-Process -Name notepad* -PassThru
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
291 18 4336 19836 0.23 8104 1 notepad
他のユーザーが開いているプロセスを終了
他のユーザーが実行中のアプリやプログラムを確認なしに終了させたいときは「-Force」オプションを付けて実行します。
PS> Stop-Process -Name notepad -Force
あとがき
特定のプロセスを頻繁に終了させる必要がある場合には、上記に紹介したコマンドをバッチファイルやPowerShellスクリプトから実行すれば、GUIからの操作に比べて効率が良くなりますよ。