HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > s > sigprocmask - システムコールの説明

sigprocmask - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 注意
  7. 準拠
  8. 関連項目

名前

sigprocmask - 禁止するシグナルの確認と変更

書式

#include <signal.h>
int sigprocmask(int how , const sigset_t * set , sigset_t * oldset );

説明

sigprocmask ()を使うと、シグナルマスク、つまり現在禁止されているシグナルの集合を変更できる。 このコールの動作は how の値によって決まる:

SIG_BLOCK
禁止されたシグナルの集合は現在の値と set 引き数を結合したものとなる。
SIG_UNBLOCK
現在禁止されているシグナルの集合から set にあるシグナルを取り除く。禁止されていないシグナルを取り除こうと しても問題はない。
SIG_SETMASK
禁止されているシグナルの集合に set 引き数を設定する。

oldset が NULL でなければ、シグナルマスクの今までの値を oldset に格納する。
set が NULL であれば、シグナルマスクは変更されない (すなわち、 how は無視される)。 set の値にかかわらず、現在のシグナルマスクの値は oldset に入れて返される (但し、 oldset が NULL でない場合)。
マルチスレッドのプロセスで sigprocmask ()を使用した場合の動作は規定されていない。   pthread_sigmask (3) を参照のこと。

返り値

sigprocmask ()は成功すれば 0 を返し、エラーならば -1 を返す。

エラー

EINVAL how に指定された値が有効ではない。

注意

SIGKILLSIGSTOP を禁止することはできない。 禁止しようとしても黙って無視される。

シグナル SIGBUS , SIGFPE , SIGILL , SIGSEGV が禁止されている間に生成された場合で、 そのシグナルが   kill (2),   sigqueue (2),   raise (3) によって生成されたものでないときには、 その後の動作は未定義である。

シグナル集合の操作に関する詳細は   sigsetops (3) を参照のこと。

準拠

POSIX.1-2001.

関連項目

Linux Tips 関連記事
Linux Tips(目次)
Linux ディストリビューション一覧
rpm のファイル名にあるi386とかi686とは
自分のマシンの情報を調べる
cron の設定
ssh の root ログインを禁止する
ssh を、ユーザ、IPでアクセス制限
鍵交換方式によるssh接続
鍵交換方式によるssh接続( windowsから )
複数ファイル内の文字列を置換して上書き保存する
あるグループをイニシャルグループとするユーザー一覧出力
複数ファイルのファイル名を一括変換する
連番ファイルをコマンド一発で作成する
中身がランダムなファイルを任意のサイズで作成する
Linux ユーザーアカウントをロック・アンロックする