私はあなたが押したときに読んだことがCtrl+C
、その後、SIGINT
信号が送信されるフォアグラウンドプロセスグループ。
今、この質問で受け入れられた答えは言う:
基本的に、シグナルはすべてのフォアグラウンドプロセス、つまりシェルとプログラムによって受信されます。
cat
内bash
で実行しましたが、PGID
forbash
とcat
が異なるため、同じプロセスグループに属していないことに気付きました。
したがって、を押すCtrl+C
とcat
、SIGINT
信号のみが受信されます(したがって、引用した答えは間違っています)、私は正しいですか?
その質問はbashスクリプトに関するものです。bashをインタラクティブに実行しています。これはプロセスグループに違いをもたらします。それがプロセスグループが発明された理由です。プロセスグループの目的は、1つのインタラクティブに開始されたタスクに関係するすべてのプロセスをキャプチャすることです。したがって、対話型シェルは各ジョブを個別のプロセスグループで開始しますが、スクリプトを実行するシェルは新しいプロセスグループを作成しません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加