First of all: make sure to kill the right process. The process selected in your htop
screenshot is just a random render process, that won't take out the browser itself. You need to kill the parent process for that.
If kill -9
doesn't work, it may be a zombie process or it may be stuck in a syscall waiting on some kind of I/O operation that isn't timing out/is bugged out/can never complete. For example, if it has done a call into the GPU driver while the GPU driver bugged out, it may be stuck waiting forever.
Normally, zombie processes should terminate when their parent gets killed. However, if the process is orphaned (the parent process died/was killed), init (whatever PID 1 may be on your system) will adopt the process, becoming its new parent, and take over the responsibility to read the exit code.
systemd's init should reap zombie orphans so I believe this is likely I/O or driver related.
If a system is stuck shutting down, you can often force it by pressing ctrl+alt+delete seven times in a row. If that doesn't work, the magic SysRq key combos may help force reboot/halt the system; however, those are often disabled by default so they may be useless when you actually encounter a situation like this.