Regarding how signals work internally I have read this post kill - How signals work internally?. However, in that post the special signal, namely SIGKILL was not explained.
This man page only specified SIGKILL and SIGSTOP cannot be caught, blocked, or ignored, but not more.
Will anyone please describe in more detail about how SIGKILL worked, specifically on Linux 2.6 or higher:
The setup (infrastructure) inside the kernel. SIGKILL is not catchable, but how is this implemented
What actions were taken for that receiving process. It may be the parent or the kernel who took control over that KILLed process. How were its child processes, its running threads, its resource (phyical memory pages, open file handles etc) got freed/recycled? What about the task structs in scheduling world?
What's the interaction between SIGKILL and multi-threading? Will there be any contention? In a multi-threaded server instance, worker threads allocate resouces and run in a loop to serve requests. Will there be a chance that one thread is doing its job while its resource got freed/recyled by the kernel, shall I say.