Ctrl + Cがシェルでどのように機能するか

Ctrl + Cがシェルでどのように機能するか

割り込みと信号について読んでいますが、次のシナリオを理解できません。

シェルが何らかのコマンドを実行し、シェルプロセスがfork()+wait()コマンドを実行し、サブプロセスがexecv()実行する新しいコードアドレスでコマンドを実行するとします。シェルの内部を押すと仮定すると、キーボードの割り込みが子プロセスに到達し、関連する割り込みハンドラが呼び出されると仮定します
Ctrl C

今私の質問は、シグナルが子プロセスに送信される方法(どこからシグナルが親プロセス(つまりシェルプロセス)で送信されるかを読みました)とシェルが再実行される方法(誰が彼を目覚めましたか?)を理解するSIGINT方法です。 )。
もう一つの質問は、一部のシグナルハンドラがワークプロセス記述子で宣言されていない場合、親プロセスでシグナルハンドラを検索することを読んでいましたが、これは本当ですか?

ベストアンサー1

おすすめ記事