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