日本語 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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
POSIX_SPAWN_FILE_AC... FreeBSD ライブラリ関数マニュアル POSIX_SPAWN_FILE_AC...
名称
posix_spawn_file_actions_addopen, posix_spawn_file_actions_adddup2,
posix_spawn_file_actions_addclose,
posix_spawn_file_actions_addclosefrom_np,
posix_spawn_file_actions_addchdir_np,
posix_spawn_file_actions_addfchdir_np -- スポンファイルアクションオブジェ
クトに open、dup2、close、closefrom または chdir/fchdir アクションを追加
する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <spawn.h>
int
posix_spawn_file_actions_addopen(posix_spawn_file_actions_t * file_actions,
int fildes, const char *restrict path, int oflag, mode_t mode);
int
posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t * file_actions,
int fildes, int newfildes);
int
posix_spawn_file_actions_addclose(posix_spawn_file_actions_t * file_actions,
int fildes);
int
posix_spawn_file_actions_addclosefrom_np(posix_spawn_file_actions_t * file_actions,
int from);
int
posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *restrict file_actions,
const char *restrict path);
int
posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t * file_actions,
int fildes);
解説
これらの関数は、スポンファイルアクション (動作) オブジェクトのための
open、dup2 または close アクションを追加します。
スポンファイルアクションオブジェクトは、(<spawn.h> で定義される) タイプ
posix_spawn_file_actions_t であり、与えられた親のオープンされたファイル記
述子のセットを子プロセスのためにオープンされたファイル記述子のセットに到
着する順序で、posix_spawn() または posix_spawnp() 操作によって実行される
一連のアクション (動作) を指定するために使用されます。
スポンファイルアクションオブジェクトは、posix_spawn() または
posix_spawnp() に渡されるとき、呼び出しプロセスのオープンされたファイル記
述子のセットが、どのようにスポンされたプロセスのための潜在的にオープンさ
れているファイル記述子のセットに変換されたかを指定します。この変換は、ア
クションがオブジェクトに追加された順序で、(新しいプロセスイメージの実行の
前に) スポンされたプロセスのコンテキストで、あたかも、アクションの指定さ
れたシーケンスが、正確に一度実行されたかのようです。さらに、新しいプロセ
スイメージが実行されるとき、FD_CLOEXEC フラグ設定がある (この新しいセット
から) 任意のファイル記述子は、クローズされます (posix_spawn() 参照)。
posix_spawn_file_actions_addopen() 関数は、新しいプロセスが、このファイル
アクションオブジェクトを使用してスポンされるとき、(あたかも
open(path, oflag, mode)
が呼び出されて、そして fildes でないなら、fildes に変更されて、ファイル記
述子が返されるように) path によって指定されたファイルが、オープンされる、
file_actions によって参照されたオブジェクトへのオープンされたアクションを
追加します。fildes が既にオープンされているファイル記述子であったなら、新
しいファイルがオープンされる前にクローズされます。
path によって記述された文字列は、posix_spawn_file_actions_addopen() 関数
によってコピーされます。
posix_spawn_file_actions_adddup2() 関数は、newfildes のための FD_CLOEXEC
フラグが、たとえ fildes が newfildes と等しくても、クリアされることを除い
て、新しいプロセスが、このファイルアクションオブジェクトを使用してスポン
されるとき、(あたかも
dup2(fildes, newfildes)
が呼び出されたかのように) ファイル記述子 fildes が newfildes として複製さ
れる file_actions によって参照されるオブジェクトに dup2 アクションを追加
します。dup2() との違いは、特別のファイル記述子を特別の子プロセスへ渡すた
めに役に立ちます。
posix_spawn_file_actions_addclose() 関数は、新しいプロセスが、このファイ
ルアクションオブジェクトを使用してスポンされるとき、(あたかも
close(fildes)
が呼び出されたかのように) としてファイル記述子 fildes をクローズする
file_actions によって参照されるオブジェクトに close アクションを追加しま
す。
posix_spawn_file_actions_addclosefrom_np() 関数は、引数 from 以上の数字の
すべてのファイル記述子をクローズするクローズアクションを追加します。オー
プンしているファイル記述子ごとに、論理的にクローズアクションが実行され、
あらゆる遭遇する可能性のあるエラーは、無視されます。
posix_spawn_file_actions_addchdir_np() と
posix_spawn_file_actions_addfchdir_np() 関数は、file_actions オブジェクト
に挿入する順で、操作後に実行されるアクション (相対パスでオープンする) に
影響する file_actions によって参照されるオブジェクトへのカレントディレク
トリの変更アクションを追加します。また、spawn されたプログラムの作業ディ
レクトリを設定します。posix_spawn_file_actions_addchdir_np() 関数は、作業
ディレクトリとして設定する path を受け取り、一方
posix_spawn_file_actions_addfchdir_np() は、ディレクトリのファイル記述子
を受け取ります。
戻り値
成功して終了すれば、これらの関数は、0 を返します。そうでなければ、エラー
番号が、エラーを示すために返されます。
エラー
これらの関数は、次の場合に失敗します:
[EBADF] fildes または newfildes によって指定された値が、負で
す。
[ENOMEM] スポンファイルアクションオブジェクトに追加するための十
分なメモリがありません。
関連項目
close(2), dup2(2), open(2), posix_spawn(3),
posix_spawn_file_actions_destroy(3), posix_spawn_file_actions_init(3),
posix_spawnp(3)
規格
posix_spawn_file_actions_addopen(), posix_spawn_file_actions_adddup2() と
posix_spawn_file_actions_addclose() 関数は、fildes が newfildes
(FD_CLOEXEC をクリアする) と等しい場合の
posix_spawn_file_actions_adddup2() の振る舞いを除いて、IEEE Std
1003.1-2001 (``POSIX.1'') に適合しています。規格の将来の更新版は、この振
る舞いを要求すると予想されます。
posix_spawn_file_actions_addchdir_np(),
posix_spawn_file_actions_addfchdir_np() と
posix_spawn_file_actions_addclosefrom_np() 関数は、glibc によって提供され
る同様の機能にちなんで実装された標準でない関数です。
歴史
posix_spawn_file_actions_addopen(), posix_spawn_file_actions_adddup2() と
posix_spawn_file_actions_addclose() 関数は、FreeBSD 8.0 ではじめて登場し
ました。posix_spawn_file_actions_addchdir_np(),
posix_spawn_file_actions_addfchdir_np() と
posix_spawn_file_actions_addclosefrom_np() 関数は、FreeBSD 14.0 ではじめ
て登場しました。
作者
Ed Schouten <ed@FreeBSD.org>
FreeBSD 13.2 May 9, 2013 FreeBSD 13.2