C言語 シグナル処理 - signal.h - [ signal, raise ]

2008.09.09 Tuesday | by LRESULT


signal.hには、シグナル処理の関数が宣言されています。


signal
書式 void ( *signal( int sig, void (*func)(int) ) ) (int)
機能 指定シグナル番号を受信した際に指定関数の実行
引数 int sig : シグナル番号
void (*func)(int) : 実行される関数
戻り値 なし



raise
書式 int raise( int sig )
機能 指定シグナル番号のシグナルを送信
引数 int sig : シグナル番号
戻り値 なし





サンプルコード
SIGABRT(シグナル番号22)を受信設定し、シグナルを送信します。
#include <stdio.h>
#include <signal.h>

void func( int sig );

void main(void)
{
  signal( SIGABRT, func );
  raise( SIGABRT );
}

void func( int sig )
{
  printf( "シグナル番号%dを受信¥n", sig );
}



結果
シグナル番号22を受信
あらかじめ、signal()でSIGABRTの受信関数を設定し
raise()でSIGABRTを送信しています。

カテゴリ:C言語 signal.h | 22:51 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/38

トラックバック