もくじ
📝 はじめに
PowerShellで作業していて、
「フリーズしているアプリを強制終了したい」
「バックグラウンドで動いている不要なプロセスを止めたい」
と感じたことはありませんか?
そんなときに使うのが、
実行中のプロセスを終了できる
Stop-Process です。
この記事では、タスクマネージャーの「タスクの終了」と同じことを、
PowerShellから安全に行うための基本を解説します。
- 応答しなくなったアプリを終了したい
- 特定のプロセスだけを確実に止めたい
- スクリプトから自動でプロセスを終了したい
✅ このコマンドでできること(要点)
- 指定したプロセスを終了できる
- プロセス名・IDのどちらでも指定できる
- 条件指定でまとめて終了できる
- 他のコマンドと組み合わせて自動化できる
✅ Stop-Process でできること
Stop-Process は、
実行中のプロセスを明示的に終了させるためのコマンドです。
タスクマネージャーを開かなくても、
PowerShell上から対象を指定して終了できます。
特に、スクリプト処理や遠隔操作で効果を発揮します。
「取得したプロセスを、そのまま終了できる」
という点が大きな特徴です。
🧩 基本構文
Stop-Process -Name プロセス名
Stop-Process -Id プロセスID
プロセス名またはIDのどちらかを指定します。
通常は、Get-Process と組み合わせて使います。
▶ 基本的な使い方(まずこれだけ)
🔹 プロセス名を指定して終了する
Stop-Process -Name chrome
Chromeのプロセスがすべて終了します。
エラーが表示されなければ、正常に終了できています。
🔹 プロセスIDを指定して終了する
Stop-Process -Id 1234
指定したIDのプロセスのみを終了します。
特定の1つだけ止めたい場合に有効です。
🛠 よく使われる指定例
🔹 Get-Process と組み合わせる
Get-Process chrome | Stop-Process
対象のプロセスを取得して、そのまま終了できます。
PowerShellらしい書き方です。
🔹 強制終了する
Stop-Process -Name chrome -Force
通常終了できない場合でも、強制的に終了を試みます。
💼 実務でよく使う使用例(応用)
🔹 条件付きでプロセスを終了する
Get-Process | Where-Object CPU -gt 300 | Stop-Process
CPU使用時間が一定以上のプロセスだけを終了できます。
条件に合うプロセスがあれば、終了処理が実行されます。
🔹 スクリプト内で安全に終了する
try {
Get-Process chrome | Stop-Process
}
catch {
"プロセスを終了できませんでした"
}
- Get-Process で対象取得
- Where-Object で条件指定
- try / catch で安全に制御
🧩 よくある勘違い・つまずきポイント
- 重要なシステムプロセスは終了できない
- プロセス名の指定を間違えると対象外になる
- 管理者権限が必要な場合がある
- -Force を使うと保存されていないデータが失われる可能性がある
- 複数プロセスが同時に終了することがある
🔄 cmdとの違いについて
cmdでは taskkill が
プロセス終了の相当コマンドです。
taskkillはオプション指定が中心ですが、
Stop-Processはオブジェクトをそのまま受け取れる点が特徴です。
⚠ エラー・うまく動かないときの確認ポイント
- 対象のプロセスが本当に実行中か
- 管理者として実行しているか
- プロセス名・IDが正しいか
- システムで保護されたプロセスではないか
🧠 注意点
プロセスの強制終了は、
データ損失やシステム不安定の原因になることがあります。
どうしても必要な場合のみ使用するのがおすすめです。
📌 まとめ
- Stop-Processはプロセス終了の基本コマンド
- 名前・ID・条件指定で柔軟に使える
- Get-Processと組み合わせると強力
- 次は try / catch と併用すると安全性が高まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- プロセスを終了したい
- フリーズしたアプリを止めたい
