FEXECVE
Section: Linux Programmer's Manual (3)
Updated: 2010-09-15
Index
Return to Main Contents
 
NAME
fexecve - execute program specified via file descriptor
 
SYNOPSIS
#include <unistd.h>
int fexecve(int fd, char *const argv[], char *const envp[]);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
fexecve():
- 
- Since glibc 2.10:
 - 
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
 - Before glibc 2.10:
 - 
_GNU_SOURCE
 
 
 
DESCRIPTION
fexecve()
performs the same task as
execve(2),
with the difference that the file to be executed
is specified via a file descriptor,
fd,
rather than via a pathname.
The file descriptor
fd
must be opened read-only,
and the caller must have permission to execute the file that it refers to.
 
RETURN VALUE
A successful call to
fexecve()
never returns.
On error, the function returns, with a result value of -1, and
errno
is set appropriately.
 
ERRORS
Errors are as for
execve(2),
with the following additions:
- EINVAL
 - 
fd
is not a valid file descriptor, or
argv
is NULL, or
envp
is NULL.
 - ENOSYS
 - 
The
/proc
file system could not be accessed.
 
 
VERSIONS
fexecve()
is implemented since glibc 2.3.2.
 
CONFORMING TO
POSIX.1-2008.
This function is not specified in POSIX.1-2001,
and is not widely available on other systems.
 
NOTES
On Linux,
fexecve()
is implemented using the
proc(5)
file system, so
/proc
needs to be mounted and available at the time of the call.
 
SEE ALSO
execve(2)
 
COLOPHON
This page is part of release 3.35 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://man7.org/linux/man-pages/.
 Index
- NAME
 - 
 - SYNOPSIS
 - 
 - DESCRIPTION
 - 
 - RETURN VALUE
 - 
 - ERRORS
 - 
 - VERSIONS
 - 
 - CONFORMING TO
 - 
 - NOTES
 - 
 - SEE ALSO
 - 
 - COLOPHON
 - 
 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved