• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

Linuxキーワード

シグナル

Signal

麻生 二郎=日経Linux 2007/02/12 日経Linux
図1 シグナル・ハンドラの動作。ある処理を割り込ませたい場合,カーネルがシグナルを発生させます。シグナルが発生すると実行中のプロセスが中断され,特定の処理が実行されます。
図1 シグナル・ハンドラの動作。ある処理を割り込ませたい場合,カーネルがシグナルを発生させます。シグナルが発生すると実行中のプロセスが中断され,特定の処理が実行されます。
[画像のクリックで拡大表示]

 シグナルは,プロセス間で連絡を取り合うための仕組みです。実行中のプロセスの処理をいったん止めて,別のプロセスを処理したい場合などに用いられます。シグナルは,Linuxカーネルに実装されています。

 シグナルは,キーボードからの割り込み「SIGINT」や浮動小数点例外「SIGFPE」,プロセスの終了「SIGTERM」など,30種類以上が用意されています。ちなみにこれらのシグナルは,プログラム(プロセス)自身の動作によって発生する「同期シグナル」,外的な要因で発生する「非同期シグナル」の2種類に分けられています。

 シグナルの具体的な動作は,次のようになります。あるプロセスの実行中に処理を割り込ませたい場合,カーネルがシグナルを発生させます。シグナルが発生すると実行中のプロセスが中断され,特定の処理が実行されます(図1)。

 この特定の処理を「シグナル・ハンドラ」と呼びます。シグナルは突然発生するものですから,発生するシグナルごとに実行したい処理を,あらかじめシグナル・ハンドラとして登録しておきます。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【夏休みスペシャル 2017】

    IT業界でいまだにあるある?プロジェクト迷走記

     中堅F:この春にうちの部署に配属になってもう3カ月たったけど、仕事は順調かい? 新人O:はい、何とかやっています。でももうすぐ夏期休暇でホッとしています。でも先輩は元気がないですね。 中堅F:取引先といろいろあってね。「なんでこんなに理不尽な目に遭うんだ!」って思うことがときどきあるんだ。

  • 【夏休みスペシャル 2017】

    エンジニアが知っておきたい夏バテ撃退法

     暑い日が続く2017年の夏。「夏バテ気味だ」と感じる読者は多いかもしれない。なかには猛暑で体力を奪われ、食欲が落ちている人もいるだろう。そこでこの夏休みスペシャルでは、IT企業でエンジニア向けの保健指導を務める金橋治美氏(保健師)に、夏バテを解消する夏休みの有意義な過ごし方を聞いた。

ITpro SPECIALPR

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る