FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | | 戻り値 | 使用例 | エラー | 関連項目 | バグ
SIGVEC(2)              FreeBSD システムコールマニュアル              SIGVEC(2)

名称
     sigvec -- ソフトウェアシグナル機能

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <signal.h>

     struct sigvec {
             void     (*sv_handler)();
             int      sv_mask;
             int      sv_flags;
     };

     int
     sigvec(int sig, struct sigvec *vec, struct sigvec *ovec);

解説
     このインタフェースは、sigaction(2) によって時代遅れとなりました。

     システムは、プロセスに配信される 1 組のシグナルを定義しています。シグナル
     の配信は、ハードウェア割り込みの発生に似ています: シグナルは、さらなる発
     生はブロックされ、現在のプロセスのコンテキストは、保存され、新しいもの
     が、構築されます。プロセスは、シグナルが配信される handler (ハンドラ) を
     指定するか、またはシグナルがブロックされるか、または無視されることを指定
     します。また、プロセスは、デフォルトのアクションがシグナルが発生すると
     き、システムによって取られることを指定します。通常、シグナルハンドラは、
     プロセスの現在のスタックで実行します。これは、ハンドラ単位で、変更され、
     その結果、シグナルは、特別のシグナルスタックに取られます。

     すべてのシグナルは、同じ優先度があります。シグナルルーチンは、ブロックさ
     れたそれらの呼び出しを起こしたシグナルで実行しますが、他のシグナルが、ま
     だ起こっているかもしれません。グローバルなシグナルマスクは、プロセスへの
     配信から現在ブロックされているシグナルの集合を定義します。プロセスのため
     のシグナルマスクは、その親プロセスのシグナルマスクに初期化されます (通常
     0)。それは、sigblock(2) または sigsetmask(2) 呼び出しで、またはシグナルが
     プロセスに配信されるとき、変更できます。

     プロセスのためにシグナルの条件が起こるとき、シグナルは、プロセスのための
     保留中のシグナルの集合に追加されます。シグナルが現在プロセスによってブ
     ロックされていないなら、それは、プロセスに配信されます。シグナルが配達さ
     れるとき、プロセスの現状が状態は、保存され、新しいシグナルマスクは、(以下
     に説明されるように) 計算され、シグナルのハンドラが、呼び出されます。ハン
     ドラへの呼び出しは、シグナルの処理ルーチンが正常に返るなら、プロセスが、
     シグナルの配信の前に、コンテキストで実行を再開できるように、手配されま
     す。プロセスが、異なるコンテキストで再開することを望むなら、それは、前の
     コンテキスト自体を復元するように手配しなければなりません。

     シグナルがプロセスに配信されるとき、新しいシグナルマスクは、プロセスのシ
     グナルハンドラの存続期間に (または、sigblock(2) または sigsetmask(2) 呼び
     出しが行われるまで) 保持されます。このマスクは、現在のシグナルマスク、配
     信されるシグナルを追加し、呼び出されるハンドラに関連付けられたシグナルマ
     スクの論理和 (OR) 取ることによって形成されます。

     sigvec() 関数は、特有のシグナルのためのハンドラに割り当てられます。vec が
     0 でないなら、それは、指定されたシグナルを配信するとき、使用されるハンド
     ラルーチンとマスクを指定します。さらに、SV_ONSTACK ビットが sv_flags に設
     定されているなら、システムは、sigaltstack(2) で指定されるシグナルスタック
     のプロセスにシグナルを配信します。ovec が 0 でないなら、シグナルのために
     以前に扱われた情報が、ユーザに返されます。

     次は、インクルードファイル <signal.h> にある名前ですべてのシグナルのリス
     トです:

     名前            デフォルトの動作        説明
     SIGHUP          プロセスを終了          端末行のハングアップ
     SIGINT          プロセスを終了          プログラムに割り込む
     SIGQUIT         コアイメージを作成      プログラムを終了
     SIGILL          コアイメージを作成      不正命令
     SIGTRAP         コアイメージを作成      トラップを追跡
     SIGABRT         コアイメージを作成      abort(3) の呼び出し (以前は,
                                             SIGIOT)
     SIGEMT          コアイメージを作成      実行されたエミュレート命令
     SIGFPE          コアイメージを作成      浮動小数点例外
     SIGKILL         プロセスを終了          プログラムを kill
     SIGBUS          コアイメージを作成      バスエラー
     SIGSEGV         コアイメージを作成      セグメンテーション侵害
     SIGSYS          コアイメージを作成      呼び出された存在しないシステム
                                             コール
     SIGPIPE         プロセスを終了          読み込み側のないパイプに書き込み
     SIGALRM         プロセスを終了          時間切れのリアルタイムタイマ
     SIGTERM         プロセスを終了          ソフトウェア終了シグナル
     SIGURG          シグナルを破棄          ソケット上に存在する緊急状態
     SIGSTOP         プロセスを停止          停止 (捕捉または無視できない)
     SIGTSTP         プロセスを停止          キーボードから生成されたシグナル
                                             を停止
     SIGCONT         シグナルを破棄          停止後の継続
     SIGCHLD         シグナルを破棄          子プロセスの状態が変更された
     SIGTTIN         プロセスを停止          制御端末から試みられたバックグラ
                                             ウンドの読み込み
     SIGTTOU         プロセスを停止          制御端末に試みられたバックグラウ
                                             ンドの書き込み
     SIGIO           シグナルを破棄          記述子で I/O が可能 (fcntl(2) 参
                                             照)
     SIGXCPU         プロセスの終了          超過した CPU 時間の制限
                                             (setrlimit(2) を参照)
     SIGXFSZ         プロセスの終了          超過したファイルサイズの制限
                                             (setrlimit(2) を参照)
     SIGVTALRM       プロセスの終了          仮想時間のアラーム (setitimer(2)
                                             を参照)
     SIGPROF         プロセスの終了          プロファイルのタイマのアラーム
                                             (setitimer(2) を参照)
     SIGWINCH        シグナルの破棄          ウィンドウサイズの変更
     SIGINFO         シグナルの破棄          キーボードからの状態要求
     SIGUSR1         プロセスの終了          ユーザ定義シグナル 1
     SIGUSR2         プロセスの終了          ユーザ定義シグナル 2

     いったんシグナルハンドラが設置されると、それは、別の sigvec() 呼び出しが
     行われるか、または execve(2) が実行されるまで、設置され続けられます。シグ
     ナル特有のデフォルトのアクションは、sv_handler から SIG_DFL まで設定する
     ことによってリセットされます。デフォルトは、たぶん、コアダンプで、プロセ
     スの終了、アクションなし、プロセスを停止する、または、プロセスを継続する
     です。シグナルのデフォルトのアクションごとに上記のシグナルのリストを参照
     してください。sv_handler が SIG_IGN であるなら、シグナルの現在と保留中の
     インスタンスは、無視され、破棄されます。

     シグナルが以下にリストされたシステムコールの間に捕獲されるなら、呼び出し
     は、通常、再開されます。呼び出しは、sv_flags の SV_INTERRUPT ビットを設定
     することによって返される EINTR エラーで時期尚早に終了することを強制するこ
     とができます。影響を受けるシステムコールは、通信チャネルまたは (通常ファ
     イルではなく端末のような) 遅いデバイスと wait(2) または ioctl(2) の間で
     read(2), write(2), sendto(2), recvfrom(2), sendmsg(2)recvmsg(2) を含
     んでいます。しかしながら、既にコミットされた呼び出しは、再開されません
     が、代りに、部分的な成功 (例えば、短い読み込みカウント) を返します。

     fork(2) または vfork(2) の後に、すべてのシグナル、シグナルマスク、シグナ
     ルスタックと再開/割り込みフラグは、子プロセスによって継承されます。

     execve(2) システムコールは、捕獲されたすべてのシグナルのためのデフォルト
     のアクションを元に戻し、ユーザスタックで捕獲されるすべてのシグナルをリ
     セットします。無視されたシグナルは、無視され続けます。シグナルマスクは、
     同じであり続けます。システムコールを割り込むシグナルは、そうし続けます。


     vec マスクは、SIGKILL または SIGSTOP をブロックすることを許可しません。こ
     れは、システムによって静かに無視されます。

     SV_INTERRUPT フラグは、4.2BSD で利用可能ではありません、したがって、後方
     互換性が必要であるなら、使用するべきではありません。

戻り値
     関数 sigvec() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
     が返され、グローバル変数 errno にエラーを示す値が設定されます。

使用例
     VAX-11 において、ハンドラルーチンは、次のように宣言することができます:

           void handler(sig, code, scp)
           int sig, code;
           struct sigcontext *scp;

     ここで、sig は、シグナル番号で、ハードウェア障害とトラップは、以下に定義
     されるようにマップされます。code 引数は、以下で与えられるような定数、また
     は互換性モードの障害のため、ハードウェアによって提供されるコードのいずれ
     かです (互換性モードの障害は、psl の PSL_CM 設定によって他の SIGILL ト
     ラップと区別されます)。scp 引数は、シグナルの前のコンテキストを復元するた
     めに使用される、(<signal.h> で定義される) sigcontext 構造体へのポインタで
     す。

エラー
     次の 1 つが起こるなら、sigvec() 関数は、失敗し、新しいシグナルハンドラ
     は、設置されません:

     [EFAULT]           vec または ovec のいずれかが、プロセスのアドレス空間の
                        有効な部分ではないメモリを指しています。

     [EINVAL]           sig 引数が、有効なシグナル番号ではありません。

     [EINVAL]           SIGKILL または SIGSTOP のためのハンドラを無視するか、
                        または供給する試みが行われました。

関連項目
     kill(1), kill(2), ptrace(2), sigaction(2), sigaltstack(2), sigblock(2),
     sigpause(2), sigprocmask(2), sigsetmask(2), sigsuspend(2), setjmp(3),
     siginterrupt(3), signal(3), sigsetops(3), tty(4)

バグ
     このマニュアルページは、まだ混乱しています。

FreeBSD 11.2                    April 19, 1994                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索