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
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目 | 歴史
RFORK(2)               FreeBSD システムコールマニュアル               RFORK(2)

名称
     rfork -- プロセスのリソースを操作する

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

書式
     #include <unistd.h>

     pid_t
     rfork(int flags);

解説
     fork, vfork または rfork することは、新しいプロセスが作成される、唯一の方
     法です。rfork() への flags 引数は、呼び出されているプロセス (親) のリソー
     スが新しいプロセス (子) によって共有されるか、またはそれらのデフォルト値
     に初期化されるかを選択します。リソースは、(共有されるとき、他のプロセスの
     ためにオープンしてクローズするプロセスを許可する) オープンされているファ
     イル記述子テーブルとオープンしているファイルを含みます。flags 引数は、次
     のいくつかのサブセットの論理和 (OR) です:

     RFPROC       設定されているなら、新しいプロセスが作成されます。そうでなけ
                  れば、変更は、現在のプロセスに影響します。

     RFNOWAIT     設定されるなら、子プロセスは、親プロセスから分離されます。終
                  了時に、子プロセスは、親プロセスが集める状態を残しません。
                  wait(2) を参照してください。

     RFFDG        設定されるなら、呼び出し側のファイル記述子テーブル (intro(2)
                  を参照) がコピーされます。そうでなければ、2 つのプロセスは、
                  単一のテーブルを共有します。

     RFCFDG       設定されるなら、新しいプロセスは、クリーンなファイル記述子
                  テーブルで開始します。RFFDG と相互に排他的です。

     RFTHREAD     設定されるなら、新しいプロセスは、親と共にリーダテーブルを処
                  理するためにファイル記述子を共有します。RFFDG も RFCFDG も設
                  定されていないときだけ適用します。

     RFMEM        設定されるなら、カーネルは、通常、ハードウェアページテーブル
                  を直接共有することによって、全体のアドレス空間の共有を強制し
                  ます。したがって、子プロセスは、通常、それらが通常共有可能で
                  あるかどうかにかかわらず、親プロセスが所有しているすべてのセ
                  グメントを継承して、共有します。スタックセグメントは、(親と
                  子の両方は、同じスタックに返り) 分割されず、したがって、
                  RFMEM フラグがある rfork() は、一般的に、C を含むハイレベル
                  言語から直接呼び出されません。RFPROC でのみ設定されます。ヘ
                  ルパ関数は、この問題を補助するために提供され、新しいプロセス
                  は、提供されたスタックで実効されます。情報については、
                  rfork_thread(3) を参照してください。多くのコードは、そのよう
                  な環境で正確に実行しないことに注意してください。

     RFSIGSHARE   設定されるなら、カーネルは、子プロセスと親プロセスの間で
                  sigacts 構造体を強制的に共有します。

     RFTSIGZMB    設定されるなら、カーネルは、デフォルトの SIGCHLD の代わりに
                  子供の終了時に指定されたシグナルを親に配信します。シグナル番
                  号 signum は、RFTSIGFLAGS(signum) 表現を flags に oring する
                  ことによって指定されます。訳注: oring は、何か動詞のスペルミ
                  スと思われます。シグナル番号 0 を指定すると、子供の終了時の
                  シグナルの配信を無効にします。

     RFLINUXTHPN  設定されるなら、カーネルは、子プロセスのためのスレッドの終了
                  時に、SIGCHLD の代わりに SIGUSR1 を配信します。これは、特定
                  の Linux クローンの振る舞いを模倣することを目的としていま
                  す。

     共有されたファイル記述子テーブルのファイル記述子は、それらが、明示的にク
     ローズされるか、またはテーブルを共有しているすべてのプロセスが終了するま
     で、オープンしたままとされます。

     RFPROC が設定されるなら、親プロセスで返される値は、子プロセスのプロセス
     ID です。子プロセスで返される値は、0 です。RFPROC なしで、返り値は、0 で
     す。プロセス ID の範囲は、1 から最大の整数 (int) 値です。rfork() システム
     コールは、必要であるなら、要求されたプロセスリソースが利用可能となるま
     で、スリープします。

     fork() システムコールは、rfork(RFFDG | RFPROC) への呼び出しとして実装する
     ことができますが、後方互換性のためではありません。

戻り値
     成功して完了すると、rfork() は、子プロセスに 0 の値を返し、子プロセスのプ
     ロセス ID を親プロセスに返します。そうでなければ、-1 の値が親プロセスに返
     され、子プロセスは、作成されません、グローバル変数 errno は、エラーを示す
     値に設定されます。

エラー
     rfork() システムコールは、次の場合に失敗し、子プロセスは、作成されません:

     [EAGAIN]           実行しているプロセスの合計数がシステムに課された制限を
                        越えています。制限は、sysctl(3) MIB 変数 KERN_MAXPROC
                        によって与えられます。(制限は、実際、スーパユーザを除
                        いて、これより 10 少なくなります)。

     [EAGAIN]           ユーザが、スーパユーザではなく、システムに課された制限
                        が、シングルユーザによって実行しているプロセスの合計数
                        を越えています。制限は、sysctl(3) MIB 変数
                        KERN_MAXPROCPERUID によって与えられます。

     [EAGAIN]           ユーザが、スーパユーザではなく、resource 引数
                        RLIMIT_NOFILE に対応しているソフトリソース制限を越えて
                        います (getrlimit(2) を参照)。

     [EINVAL]           RFFDG と RFCFDG フラグの両方が指定されました。

     [EINVAL]           上記にリストされなかったいずれかのフラグが指定されまし
                        た。

     [EINVAL]           無効のシグナル番号が指定されました。

     [ENOMEM]           新しいプロセスのための十分なスワップ空間がありません。

関連項目
     fork(2), intro(2), minherit(2), vfork(2), pthread_create(3),
     rfork_thread(3)

歴史
     rfork() 関数は、Plan9 ではじめて登場しました。

FreeBSD 11.2                     July 12, 2011                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索