1. NOM

fexecve - Exécuter un programme spécifié via un descripteur de fichier

2. SYNOPSIS

 
Sélectionnez
#include <unistd.h>
int fexecve(int fd, char *const argv[], char *const envp[]);



Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

fexecve() :

  • Depuis la glibc 2.10 :
        _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
  • Avant la glibc 2.10 :
        _GNU_SOURCE

3. DESCRIPTION

fexecve() effectue la même tâche que execve(2), excepté que le fichier à exécuter est spécifié via un descripteur de fichier, fd au lieu d'un chemin. Le descripteur de fichier fd doit être ouvert en lecture seule, et l'appelant doit avoir les permissions nécessaires pour exécuter le fichier lié au descripteur de fichier.

4. VALEUR RENVOYÉE

En cas de réussite, la fonction fexecve() ne revient jamais. En cas d'erreur, la fonction renvoie -1 et errno est définie.

5. ERREURS

Les erreurs sont les mêmes que pour execve(2), avec en plus :

  • EINVAL
        fd n'est pas un descripteur de fichier valable, ou argv est NULL, ou envp est NULL.
  • ENOSYS
        Impossible d'accéder au système de fichiers /proc.

6. VERSIONS

fexecve() est disponible depuis la glibc 2.3.2.

7. CONFORMITÉ

POSIX.1-2008. Cette fonction n'est pas spécifiée dans POSIX.1-2001 et n'est que rarement disponible sur d'autres systèmes.

8. NOTES

Sous Linux, fexecve() est implémentée avec le système de fichiers proc(5), /proc doit donc être monté et disponible lors des appels à fexecve().

9. VOIR AUSSI

execve(2)

10. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

11. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à < >.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».