1

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:

  1. The setup (infrastructure) inside the kernel. SIGKILL is not catchable, but how is this implemented

  2. 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?

  3. 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.

Guibao Wang
  • 405
  • 4
  • 15
  • Go to http://elixir.free-electrons.com and search for `SIGKILL`. – Maxim Egorushkin Jun 23 '17 at 12:08
  • I think SIGKILL causes the termination of the process in entirety. for more details this link will help you: http://forums.codeguru.com/showthread.php?399918-pthread_kill-and-SIGKILL – suraj Jun 23 '17 at 12:19

0 Answers0