mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-05-07 18:06:49 +02:00
38 lines
1.0 KiB
PowerShell
38 lines
1.0 KiB
PowerShell
param(
|
|
[int[]]$Ports = @(8001, 8002)
|
|
)
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
|
|
$Root = Resolve-Path (Join-Path $PSScriptRoot "..")
|
|
$RuntimeRoot = Join-Path $Root ".runtime\dm-two-node"
|
|
$PidFile = Join-Path $RuntimeRoot "pids.json"
|
|
|
|
if (Test-Path $PidFile) {
|
|
try {
|
|
$payload = Get-Content $PidFile -Raw | ConvertFrom-Json
|
|
foreach ($node in @($payload.nodes)) {
|
|
if ($node.pid) {
|
|
Stop-Process -Id ([int]$node.pid) -Force -ErrorAction SilentlyContinue
|
|
}
|
|
if ($node.port) {
|
|
$Ports += [int]$node.port
|
|
}
|
|
}
|
|
} catch {
|
|
Write-Host "Could not parse $PidFile; falling back to port cleanup."
|
|
}
|
|
}
|
|
|
|
foreach ($port in ($Ports | Select-Object -Unique)) {
|
|
$listeners = Get-NetTCPConnection -LocalPort $port -State Listen -ErrorAction SilentlyContinue
|
|
foreach ($listener in $listeners) {
|
|
if ($listener.OwningProcess) {
|
|
Write-Host "Stopping PID $($listener.OwningProcess) on port $port"
|
|
Stop-Process -Id $listener.OwningProcess -Force -ErrorAction SilentlyContinue
|
|
}
|
|
}
|
|
}
|
|
|
|
Write-Host "DM test nodes stopped."
|