C信号のLinux

  • 定義された信号
ただ、信号フラグ情報、および大量のデータを運ぶためにではない、このプロセスは、実際には、信号をこのようにカーネルからの信号を受信し、コード本体(応答信号)の合意履行に従い、その後、他のコードを継続しますソフト割り込み
厳密プロセスBにプロセスAが直接信号を送信できない、話すが、コア送信完了信号を用いて、同じ処理Bが終了する信号のカーネルによって処理されます
  • 4つの要素信号
  1. 番号
  2. 名前
  3. イベント
  4. デフォルトの取り扱い
より一般的に1-31項-lショーのすべての信号を殺すLINUX

出力:

  • ウェイ信号を生成します
  1. 鍵生成Ctrl + Z、CTRL + \、CTRL + S
  2. システムコールは、キル昇給・アボートを生成し、
  3. ソフトウェアの条件は、アラームを発生する(タイマー)
  4. 異常産生:例えばセグメンテーション違反(不正なメモリアクセス)、0に加えて、それらのエラー(バスエラー)のメモリ
  5. 生成されたkillコマンド
  • 信号分類:
  1. 用語終端(例えば:SIGHUP)
  2. 停止を一時停止
  3. コアは、(例えば:SIGSEGV)の理由の文書化プロセスダイを生成します
  4. 信号を無視IGN
  5. 続きを再開します
  • 信号の状態:ハンズアップ(送達および到着)または保留中の(一時的に終了に起因してブロックされました)
  • 無視されたとSIGKILL SIGSTOPは----たとえば、ウイルスプログラムは、あなたがそのプロセスを強制終了しなければならない信号を捕捉することができました。これに先立ち、ウイルスは、他の信号になることがあり、無視やキャッチされています!
  • PCBは、保留中の信号セット信号とマスク文字(ブロッキング信号セット)が含まれてい
信号セット保留とビューの組織の観点からブロッキング信号を設定すると、信号の集合であり、我々はあなたがボタンの意志を押した場合、例えば、ボタンCtrl + Cを押して1-32マークにそれぞれ異なる信号タイプを望むかもしれません2送信信号は以下のように、2つの信号が変化を受けることができます。

実行前:

ある保留信号セット信号2、状態0は----、「しなければならない」状態----である(二重否定は確かに等しい偽保留----すでに決まっています)

ボタンを押します。

2ペンディング信号セット信号、状態(遮断信号、フォーカス信号として識別される場合には、信号ペンディング信号2つの残る状態1集束)

信号を受信した後、ターゲット・プロセス:

2遷移0となる信号セット信号保留、及び

この変化の過程は、フリップと呼ばれる、非常にエレガントな言葉を持っています

  • 信号の処理

 

 

 

  1. デフォルトのアクションを実行します
  2. 無視(廃棄)
  3. キャプチャー(ユーザーハンドラ)

おすすめ

転載: www.cnblogs.com/saintdingspage/p/12165913.html