One of the easiest ways to troubleshoot hung processes is trace it to the source. This works for cpu intensive things also, when dealing with a *nix based system. So if you look at the process ids, there are always a parent process id that’s associated with it.
It’s usually always in this format:
If the process is eventually owned by root (or pid of 1) then it’s been zombied meaning the parent dropped out and tossed the reins to the root process. Zombie processes sometimes can actually never go away until they’re killed and just sit there taxing resources from your system.