0

I am reading about interrupts and signals and have problem with understanding the following scenario.

Suppose the shell executing some command, then the shell process doing fork() + wait() commands while the child process is doing execv() command with the new code address to run.
Now, suppose that I press Ctrl C inside the shell then I assume that an interrupt from the keyboard will arrive to the child process and the relevant interrupt handler will be invoked.

Now, My problem is with understanding how the SIGINT signal is sent to the child (I read somewhere that it is sent from the father process i.e. the shell process) and how the shell is running again (who is waking him up?).
Another issue is that I read that if some signal handlers aren't declared in the Task Process Descriptor then it is searching for signal handlers in the father process, is that true?

chaos
  • 48,171
michael
  • 103
  • Similar: https://unix.stackexchange.com/q/365621/117549 – Jeff Schaller Feb 15 '19 at 18:39
  • Note that we already have https://unix.stackexchange.com/questions/6332/ , https://unix.stackexchange.com/questions/350465/ , https://unix.stackexchange.com/questions/386999/ , and https://unix.stackexchange.com/questions/230421/ . – JdeBP Feb 15 '19 at 18:51

0 Answers0