启动Brave配置文件后如何获取真实进程ID以关闭对应进程
解决Brave配置文件进程ID获取问题
核心思路是通过进程的命令行参数匹配对应配置文件的Brave进程——每个指定配置文件启动的Brave实例,其进程命令行里会携带--profile-directory="你的配置文件名"参数,以此作为识别依据。
具体实现步骤
- 启动指定配置文件的Brave,记录目标配置文件名
- 短暂等待,给Brave足够时间完成进程替换(启动进程会被快速关闭,真实子进程生成)
- 通过命令行参数过滤出对应配置文件的真实进程
启动并获取真实进程ID代码
$bravePath = "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" $profile = "Profile 1" # 替换为你要打开的配置文件名 # 启动指定配置文件的Brave Start-Process $bravePath -ArgumentList "--profile-directory=""$profile""" # 等待2秒(可根据系统性能调整,确保进程切换完成) Start-Sleep -Seconds 2 # 过滤出对应配置文件的真实Brave进程 $targetProcess = Get-Process Brave | Where-Object { $_.CommandLine -like "*--profile-directory=`"$profile`"*" } # 输出并保存进程ID if ($targetProcess) { $realProcessId = $targetProcess.Id Write-Host "对应配置文件的真实进程ID: $realProcessId" # 将ID追加保存到文件,方便后续关闭使用 $realProcessId | Out-File -Append "brave_process_ids.txt" } else { Write-Host "未找到对应配置文件的Brave进程" }
后续关闭进程的操作
如果需要关闭指定配置文件的进程,既可以读取保存的ID,也可以直接通过配置文件名匹配后关闭:
$profile = "Profile 1" $targetProcess = Get-Process Brave | Where-Object { $_.CommandLine -like "*--profile-directory=`"$profile`"*" } if ($targetProcess) { Stop-Process -Id $targetProcess.Id -Force Write-Host "已关闭对应配置文件的Brave进程" }
注意事项
- 等待时间可灵活调整,若系统性能较差,可延长至3-5秒
- 部分系统中Brave进程名可能为
brave-browser,可通过Get-Process | Where-Object {$_.ProcessName -match "brave"}确认准确进程名 - 若同一配置文件启动多个实例,会返回多个进程ID,可根据需求批量处理
内容的提问来源于stack exchange,提问作者Juan Antonio Tubío
相关产品推荐
相关产品推荐

