Sometimes the process could be blocked on a resource or thread or something, and quitting or freeing that up, frees the process and lets it end. It is somewhat similar to how when you delete (to the recycle bin) a file in Explorer that is in use, it doesn’t actually go away and seems stuck (without immediately returning an in-use/locked error), but if you quit the program that has it locked within five seconds, the file suddenly disappears.
I have seen this happen on occasion, especially with programs that have a pop-up dialog or something that somehow gets hidden; finding a way to dismiss the dialog allows the thread to terminate, thus allowing the process to end.
I suspect that with the increase in, yet still relatively new practice of multi-threaded programming, things like this will become more common, at least for a while.
That's one of the reasons I switched to Linux. Though I experienced this problem under Win XP, it seems that it hasn't changet since then. – petersohn – 2010-04-30T07:07:39.450
Mark Russinovich's article "Unkillable Processes" says that you can use a local-kernel-debugging tool to find out why a process is unkillable. The article gives you instructions on what to do. You'll need the freeware Debugging Tools for Windows. – unforgettableidSupportsMonica – 2017-03-20T12:11:52.620
4
According to http://samba.2283325.n4.nabble.com/What-causes-an-unkillable-process-td2494666.html there's exactly the same situation in Linux - processes waiting on the kernel are unkillable. This is one of the reasons I switched to Windows.
– ta.speot.is – 2011-06-12T02:25:38.947