Dangling Process Closer
This script was developed while building a Firebase app that had a local emulator run. Often, this emulator
would freeze up and not close properly, so opening up a Task Manager (I used Process Hacker because it’s easier) and
manually close the dangling java.exe
process.
This became so common and disruptive that I created a little script to find and kill the process for me.
It’s not that big of a deal, but I gotta add content to this site, so why not…
Raw file available at https://powershell.xevion.dev/scripts/ForceClose.ps1
param (
[Int32]$targetPort = "8080",
[string]$processName = "java"
)
function Pluralize($value)
{
if ($value -eq 1)
{
return ""
}
return "s"
}
$connections = Get-NetTCPConnection -state Listen -LocalPort $targetPort -ErrorAction 'SilentlyContinue'
if ($connections.Length -eq 0)
{
Write-Host "No ports were open and listening on ${targetPort}"
return
} else
{
$processes = $connections | % { Get-Process -Id $_.OwningProcess } | ? { $_.Name -like $processName }
$processCount = $processes.Length
Write-Host "Closing ${processCount} process${processCount | Pluralize} open on ${targetPort}..."
$processes |
Stop-Process -Force -PassThru |
select -Property Name, ProcessName, StartTime, HasExited, ExitTime |
Format-List
}