How to kill a single request in IIS?
I'm using IISPeek and can see that there's a single request that's hanging on a buggy page. I've fixed the bug so that others who open the page won't experience the problem, but the page is still active after almost an hour.
I'd rather not stop the whole application as there are some important processes currently running.
Via IISPeek I have the request number (9f0002008001238e) and clientIP. Could any of that be used to stop the ongoing request?
You can use Process Explorer to do this. Go into the Properties
of the problematic w3wp.exe process, choose the Threads
tab, then select the long running thread and use the Kill
button to kill the thread. Note too that you can also use the Stack
button to get the stacktrace of the thread, to hopefully help determine where in code it is getting hung up.
You can't stop an individual request that's hung. You need to recycle the App Pool to do that.
Alternatively, break in with a debugger and terminate the request thread. If the thread's hung, there's no way for it to voluntarily self-terminate.
Keep in mind that when the debugger breaks in, the whole process is paused. And if you don't .detach before quitting, the process will quit, which functionally resembles a recycle anyway.
Extra step: Hope nothing breaks when you do that.