📜  通过 pid 在 win 中杀死进程 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:12:22.870000             🧑  作者: Mango

通过 PID 在 Windows 中杀死进程 - Shell/Bash

在 Windows 中,我们可以使用 Powershell 或者 Command Prompt 来通过进程 ID 来杀死一个进程。

使用 Powershell

在 Powershell 中,我们可以使用 Stop-Process 命令来杀死进程。

Stop-Process -Id [pid]

其中,[pid] 是要杀死的进程的进程 ID。

使用 Command Prompt

在 Command Prompt 中,我们可以使用 taskkill 命令来杀死进程。

taskkill /PID [pid] /F

其中,[pid] 是要杀死的进程的进程 ID。/F 参数表示强制杀死进程。

需要注意的是,杀死进程是一个危险的操作,可能会导致数据丢失或者程序异常,所以务必谨慎使用。

在编写脚本时,需要额外考虑进程是否存在的情况。我们可以使用如下命令来检查进程是否存在:

Get-Process -Id [pid] -ErrorAction SilentlyContinue | Select-Object -First 1

其中,-ErrorAction SilentlyContinue 参数表示如果进程不存在,不会抛出异常。Select-Object -First 1 参数表示只取第一个进程。如果命令返回结果为空,则说明进程不存在。

代码片段:

# 检查进程是否存在
if (Get-Process -Id [pid] -ErrorAction SilentlyContinue | Select-Object -First 1) {
  # 杀死进程
  Stop-Process -Id [pid]
}
REM 检查进程是否存在
tasklist /FI "PID eq [pid]" 2>NUL | find /i "[pid]" >NUL
if not errorlevel 1 (
  REM 杀死进程
  taskkill /PID [pid] /F
)

参考链接: