シェルが組み込み機能を実行し、キーボードが信号を生成するときにその信号を処理するのは何ですか?

シェルが組み込み機能を実行し、キーボードが信号を生成するときにその信号を処理するのは何ですか?

私が間違っている場合は訂正してください:Bashシェルが外部ランチャーを実行するとき、bashシェルは、フォアグラウンドでプログラムを実行するための子プロセスを生成します。キーを押して生成された信号がある場合、信号は次のようになります。送る子プロセスに処理済みプログラムに合格してください。

Bashシェルが組み込みコマンドを実行するとき、bashシェルは、シェルプロセスの組み込みコマンドをフォアグラウンドで直接実行します。どのキーを押しても生成された信号がある場合、その信号は次のようになります。送るシェルプロセスとして?これは扱う信号、プログラムの組み込みコマンド、またはbash?組み込みコマンドは独自のシグナルハンドラを持つことができますか、それともシグナルハンドラに依存する必要がありますかbash

たとえば、bashシェルがwaitフォアグラウンドで実行されているときにCtrl-Cを押すと、シェルプロセスはSIGINT信号を受け取り、waitbashで処理しますか?wait独自のシグナルハンドラがあるか、依存するシグナルハンドラがありますかbash

ありがとうございます。

ベストアンサー1

シグナル、組み込みコマンドプログラム、またはbashを処理するものは何ですか?

組み込みコマンドを含むプログラムはbashです。これが組み込みの定義です。外部プログラムではなくシェルに組み込まれています。

シェルは、信号を受信したときに行われていた操作によって異なる反応をする可能性があります。しかし、他のプロセスが関係しないので、信号を受信することは常にシェルプロセスです。

おすすめ記事