Ctrl + C가 쉘에서 작동하는 방식

Ctrl + C가 쉘에서 작동하는 방식

인터럽트와 신호에 대해 읽고 있는데 다음 시나리오를 이해할 수 없습니다.

쉘이 어떤 명령을 실행하고, 쉘 프로세스가 fork()+ wait()명령을 실행하고, 하위 프로세스가 execv()실행할 새 코드 주소로 명령을 실행한다고 가정합니다.
이제 Ctrl C쉘 내부를 누른다고 가정하면 키보드의 인터럽트가 하위 프로세스에 도달하고 관련 인터럽트 핸들러가 호출될 것이라고 가정합니다.

이제 내 질문은 신호가 하위 프로세스로 전송되는 방법(어딘가에서 신호가 상위 프로세스(즉, 쉘 프로세스)에서 전송된다는 내용을 읽었습니다)과 쉘이 다시 실행되는 방법(누가 그를 깨웠습니까?)을 이해하는 SIGINT방법입니다. ).
또 다른 질문은 일부 신호 처리기가 작업 프로세스 설명자에 선언되지 않은 경우 상위 프로세스에서 신호 처리기를 검색한다는 내용을 읽었는데 이것이 사실입니까?

관련 정보