FEXECVE
Section: Linux Programmer's Manual (3)
Updated: 2009-02-04
Index
JM Home Page
roff page
名前
fexecve - ファイルディスクリプタで指定されたプログラムを実行する
書式
#define _GNU_SOURCE
#include <unistd.h>
int fexecve(int fd, char *const argv[], char *const envp[]);
説明
fexecve()
は
execve(2)
と同じ作業を行う。違うのは、
実行するファイルを、パス名ではなく、
ファイルディスクリプタ
fd
を用いて指定する点である。
ファイルディスクリプタ
fd
は、読み込み専用でオープンされていなければならず、
呼び出し元はファイルディスクリプタが参照するファイルに対する
実行許可を持っていなければならない。
返り値
fexecve()
は呼び出しに成功した場合、戻ることはない。
エラーの場合、返り値として -1 が返され、
errno
が適切に設定される。
エラー
エラーは
execve(2)
と同じだが、以下のエラーが追加になっている:
- EINVAL
-
fd
が有効なファイルディスクリプタでない。または
argv
が NULL である。または
envp
が NULL である。
- ENOSYS
-
/proc
ファイルシステムにアクセスできなかった。
バージョン
fexecve()
は glibc 2.3.2 以降で実装されている。
準拠
POSIX.1-2008.
この関数は POSIX.1-2001 では規定されておらず、
他のシステムで広く利用できるわけではない。
注意
Linux では、
fexecve()
は
proc(5)
ファイルシステムを使って実装されている。
そのため、この関数を呼び出す時点では
/proc
がマウントされて利用可能となっている必要がある。
関連項目
execve(2)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- バージョン
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 03:26:41 GMT, April 25, 2010