You can use a different Task Manager - for example Process Explorer. The "tree" view allows to find the parent process, and terminate it. This will kill also all the other spawned children.
If it is always the same binary that hangs, and you do not care about saving data, you can prepare a link to activate either PSKILL or TASKKILL against that binary. Set the link privileges to "run as administrator" and give it the icon of the explosive from PIFMGR.DLL :-) - then every time you click the detonator icon, the process and all its children are terminated.
PSKILL/TASKKILL are a last resort; I'd rather use Process Explorer if I could at all.
Sometimes (it depends on the process and what it is doing), what happens is that the parent process spawns several children to take care of business, while the parent orchestrates their operations. Now what might happen is that the parent requires some task to be performed (e.g. a status fetched from the command-and-control server). If the program is well coded enough, both a success and a failure will be handled, but it might happen that the child returns neither and remains stuck because its connection has become unresponsive. Lacking confirmation, all the other children remain motionless. The program is not blocked because the parent is still consuming window messages, and it will not terminate because the message asking to do so is intercepted by the parent, who waits for an orderly shutdown of the children - which isn't going to happen.
Process Explorer can also show you the open handles including some kinds of network connections. You can from that sometimes infer which child is stuck, and kill it. Then the parent will receive an error, and either crash or notify the error and retry, or stop, or otherwise continue its business -- which allowed me several times to save my work before restarting the program.
(One process that had the habit of hanging exactly like you describe was a SQL tool when used through a VPN tunnel. A very long and complex query would somehow cause the connecting child to hang, and this usually happened after long creative stints in which I had refined and optimized again and again some query, after a while forgetting to save it before each attempt).
taskkill /IM "Slack.exe"