Я пытаюсь понять, как CTRL + C завершает дочерний процесс, но не является родительским процессом. Я вижу это поведение в некоторых оболочках script, таких как bash
, где вы можете запустить некоторый длительный процесс, а затем завершить его, введя CTRL - C, и элемент управления вернется в оболочку.
Не могли бы вы объяснить, как это работает и, в частности, почему не завершен процесс parent (shell)?
Требуется ли оболочка выполнить специальную обработку события CTRL + C, и если да, что именно он делает?