個々のシグナルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 個々のシグナルの意味・解説 

個々のシグナル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/07 06:02 UTC 版)

シグナル (Unix)」の記事における「個々のシグナル」の解説

Single UNIX Specification では、以下のシグナル で定義すべきものとして指定している。 シグナル受信時デフォルト動作は以下のような処理がある: T: プロセス異常終了exit() システムコール実行したのと同様の終了仕方だが、wait()またはwaitpid()でそのプロセス終了待ち合わせていたプロセスには、シグナル受信終了したことを示す異常終了コード返される。 A: プロセス異常終了設定されていればコアダンプ生成する。 I: シグナル無視する。 S: プロセス実行中断一時停止)する。 C: 中断されていたプロセス実行再開する中断されていないプロセスでは無視する下記表のシグナル番号Linux x86場合であり、他のOS・他のCPUでは異なる。Linux ARMシグナル番号は同じ。 シグナル名説デフォルト動作解説Linux x86でのシグナル番号SIGABRT プロセス中断された A abort()プロセス自身実行することによって発生するハンドラによるキャッチ可能。ブロック不可。シグナルハンドラから戻るとプロセス終了させられる何らかの不正な状況陥った通常の処理の流れでは終了前のクリーンアップ処理ができないときに使用。 6 SIGALRM alarm() によるシグナル T alarm()システムコールで、設定した実時間タイマータイムアウトしたことを知らせる。 14 SIGBUS 「未定メモリ領域へのアクセス」(SUS) によるバスエラー A 以下のような不正なメモリ操作により発生ハンドラキャッチできるが、ハンドラから戻った後の動作システム依存する通常プロセス終了)。アドレス境界不正:CPUデータサイズによって配置可能なアドレス制限があることが多い。例え32bit整数を4バイト境界(4で割り切れるアドレス)以外に置こうとしたなど。 存在しない物理アドレスページフォールト似ている物理アドレスに関して発生オブジェクト固有エラー例えば、mmapマッピングされたファイル切り捨てられたために仮想アドレス対応する実体存在しなくなった場合など。 7 SIGCHLD 子プロセス終了停止(または再開*)した I 子プロセス状態変化に応じて発生親プロセス無視するともできる17 SIGCONT 停止していれば再開 C プロセスグループ参照18 SIGFPE 浮動小数点例外 -- 「不正な算術操作」(SUS) A 浮動小数点演算ゼロ除算オーバーフローなどが発生したときに発生Signaling NaN発生したときも同様。また、整数オーバーフローなどでも発生するハンドラキャッチ可能だが、適切に処理しないプロセスハングアップ無限ループ)に陥る可能性がある。(ここでいう適切な処理とは、シグナルハンドラが受け取例外発生時のレジスタ内容書き換え例外発生しないようにすることであり、例外発生箇所コード解析してどのレジスタ使われていたのかを調べたり内容書き換えることで計算結果不正にならない判断したりといった非常に高度な対応が必要とされるまた、Signaling NaN 以外では処理続行はほぼ不可能) 8 SIGHUP ハングアップ T 本来は端末回線切れたときに発生。現在では擬似端末クローズしたときにその端末から起動されプロセスグループ送られるシェルの nohup 機能使えばバックグラウンドプロセスがSIGHUPを受け付けないようにできる。 1 SIGILL 不正命令 A 通常命令でないメモリ領域ジャンプしたときに発生コールスタックリターンアドレス破壊されたときなど)。他に特権レベル高くない実行できない命令実行しようとしたときなどにも発生する。 4 SIGINT 割り込み T 端末から割り込みキー通常 CTRL + C)を押下したときに発生。 2 SIGKILL 強制終了(kill) T killコマンドなどで明示的に発生させるキャッチした無視したできないゾンビプロセスは既に終了しているのでSIGKILLを受けて消滅しない。スリーププロセススリープ解除されたときにSIGKILLを受け付ける。initはSIGKILLを無視できる。 9 SIGPIPE 読み手のいないパイプへの書き込み T 13 SIGPOLL*, SIGIO poll可能イベント T ファイル記述子に対してfcntl()システムコールシグナル発生指示すると、ポール可能イベント伴ってSIGPOLLが発生する一般に通信ポート対応するファイル識別子使用し、完全な非同期I/O実現する。ただし、コード複雑化することから、最近では専用非同期I/Oシステムコール使用することが推奨されている。 29 SIGPROF* プロファイリングタイマーがタイムアウト T プロファイラ使用。このときのタイマープロセスの全実行時間対応するCPUモード関わらず計時する)。 27 SIGPWR 電源喪失 T 30 SIGQUIT 終了コアダンプ A 通常端末からの終了キーCTRL + \)で発生。 3 SIGSEGV セグメンテーション違反 A ページフォールトのうち不正なメモリアクセスによるもの場合発生。しかし、例えヒープ領域拡張をSIGSEGV発生受けてオンデマンドで行うライブラリなどもある。 11 SIGSTKFLT 数値演算プロセッサにおけるスタックフォルト A 16 SIGSTOP 実行中断 S プロセスグループ実行中断のためのシグナルキャッチ無視できない。SIGCONT シグナル実行再開する19 SIGSYS*, SIGUNUSED 不正 システムコール A 一般にシステムコール番号引数不正だったときは単にエラー返すことで済むので、このシグナルは滅多に使われない31 SIGTERM 強制終了 T killコマンドデフォルト発生するシグナル。しかし、このシグナルキャッチした無視したりすることも可能。 15 SIGTRAP* トレース/ブレークポイントによるトラップ A 何らかのデバッグ機能使用されるアーキテクチャによって異なる)。 5 SIGTSTP 端末からの中断シグナル S フォアグラウンドプロセスグループ実行中断させる通常CTRL + Z 押下)。 20 SIGTTIN バックグラウンドプロセス端末から読もうとした S バックグラウンドプロセスグループユーザー入力待ちとなって停止シェル機能使ってフォアグラウンドにすることで入力が可能。 21 SIGTTOU バックグラウンドプロセス端末書き込もうとした S バックグラウンドプロセスグループ端末への表示待ちとなって停止シェル機能使ってフォアグラウンドにすることで表示可能。 22 SIGURG ソケット上に緊急データがある I 非同期I/O機能使用23 SIGUSR1 ユーザー定義シグナル 1 T POSIXでは未定義。Linuxではスレッド同期使用。ddコマンド受信する操作状況表示される10 SIGUSR2 ユーザー定義シグナル 2 T POSIXでは未定義。Linuxではスレッド同期使用12 SIGVTALRM* 仮想時間カウントするタイマによるシグナル -- 「仮想タイマタイムアウト」(SUS) T プロファイラなどで使用。このときのタイマープロセスユーザーモードでの実行時間計時するもの。SIGPROFと組み合わせると、プロセスカーネルモードでの実行時間がわかる。 26 SIGWINCH ウィンドウ リサイズ シグナル I 28 SIGXCPU* CPU時間制限越えた A プロセス実行時間スリープしていた時間スケジューリング待ち時間は除く)がある値を超える発生24 SIGXFSZ* ファイルサイズ制限越えた A ファイルサイズファイルシステム(あるいはオペレーティングシステム)の制限越えようとしたとき、それを引き起こしたプロセス送信される25 注:アスタリスク付の項目は、X/Open System Interfaces (XSI) による拡張を示す。(SUS) とある部分SUSにある表現引用(を和訳したもの)。 上述以外に、プロセス擬似シグナル番号0)を送信するともできる。これは実際にシグナル送信せずにシグナル送信時のエラーチェックをし、例え宛先プロセス存在するかどうかチェックするのに便利である。

※この「個々のシグナル」の解説は、「シグナル (Unix)」の解説の一部です。
「個々のシグナル」を含む「シグナル (Unix)」の記事については、「シグナル (Unix)」の概要を参照ください。

ウィキペディア小見出し辞書の「個々のシグナル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「個々のシグナル」の関連用語

個々のシグナルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



個々のシグナルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのシグナル (Unix) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS