# Kill stale Python dashboard processes # Enhanced version with better error handling and logging Write-Host "Checking for stale Python dashboard processes..." try { # Get all Python processes $pythonProcesses = Get-Process python -ErrorAction SilentlyContinue if ($pythonProcesses) { # Filter for dashboard processes $dashboardProcesses = $pythonProcesses | Where-Object { $_.ProcessName -eq 'python' -and $_.MainWindowTitle -like '*dashboard*' } if ($dashboardProcesses) { Write-Host "Found $($dashboardProcesses.Count) dashboard process(es) to kill:" foreach ($process in $dashboardProcesses) { Write-Host " - PID: $($process.Id), Title: $($process.MainWindowTitle)" } # Kill the processes $dashboardProcesses | Stop-Process -Force -ErrorAction SilentlyContinue Write-Host "Successfully killed $($dashboardProcesses.Count) dashboard process(es)" } else { Write-Host "No dashboard processes found to kill" } } else { Write-Host "No Python processes found" } } catch { Write-Host "Error checking for processes: $($_.Exception.Message)" } # Wait a moment for processes to fully terminate Start-Sleep -Seconds 1 Write-Host "Process cleanup completed"