have a process that won’t die. tried task manager, tried ending it several different ways, and it either comes back immediately or says access denied.
it’s not a system process, it’s a regular application that’s frozen. task manager shows it as not responding.
what are all the actual methods for killing a process in windows, from the standard approach to the more powerful ones? specifically looking for what to do when task manager either won’t let you end it or the process keeps restarting.
also: is there a way to tell if a process is being protected or restarted by another process? that would explain why killing it doesn’t stick.
taskkill /F being important to include is right. without the /F flag taskkill sends a WM_CLOSE message which a frozen process doesn’t process. /F sends a direct termination signal that bypasses the message queue. always include /F when trying to kill a non-responsive process.
the /T flag for killing child processes is the one i needed recently. a launcher process had spawned several child processes and killing just the parent left the children running. /T kills the whole process tree which is what you usually want for game launchers or multi-process applications.
The Command Line column in Task Manager Details being useful for identifying specific instances is genuinely helpful. Chrome, Python, node.exe – all spawn multiple processes with the same name. The command line column shows the script path or startup arguments that distinguish one instance from another.
every method for killing a process in windows, from simplest to most powerful:
task manager (GUI): Ctrl+Shift+Esc > find the process > right-click > End Task. for more control switch to Details tab where you can see all processes including background ones.
taskkill (command prompt): open command prompt as admin. taskkill /f /im processname.exe or taskkill /f /pid [process ID]. /f forces termination. /im uses the executable name, /pid uses the process ID from task manager.
tskill (older command): tskill [process name or ID]. less reliable than taskkill but works in some cases where taskkill fails.
process explorer (sysinternals): more powerful than task manager. shows process tree so you can see what launched what. right-click > Kill Process or Kill Process Tree (kills it and everything it spawned). download from microsoft.com/sysinternals.
pskill (sysinternals): command-line version with more options than taskkill. pskill [process name] or pskill [PID].
if the process restarts immediately after killing: something is restarting it. in process explorer, right-click the process > Properties > look at the parent process. you need to kill the parent or find what’s launching it.
if nothing works: restart in safe mode. safe mode starts minimal services and most persistent processes won’t start. you can delete or replace files that windows protects during normal operation.
Process Explorer from Sysinternals being the upgrade worth knowing about is consistent with the Task Manager limitation context. It shows process parentage (which process spawned which), handles, DLLs loaded, and network connections – far more context for understanding what a process is doing before deciding to kill it.