Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Windows 11 : le menu Démarrer ne fonctionne parfois plus après la mise à jour
[Actualités]
Test Legacy of Kain Soul Reaver 1&2 Remastered (PS5) - Raziel de retour
[Actualités]
2025 nous apportera le nouvel iPad abordable : nouveaux détails de lancement
[Actualités]
Découvrons quand le Père Noël arrivera pour livrer nos cadeaux, avec Santa Tr...
[Actualités]
Nintendo Switch 2, la date d'annonce et le mois de sortie ont-ils été révélÃ...
[Actualités]
WhatsApp nous permet désormais de réagir à un message en « tirant des confet...
[Actualités]
Les pliables ne décollent pas ? Samsung réduit ses plans de production
[Actualités]
PS5, Sony bannit-il les utilisateurs qui utilisent le navigateur "caché" de la ...
[Actualités]
Test The Thing Remastered (PS5) - Une refonte du classique de 2002
[Actualités]
L'iPhone le plus fin de tous les temps sera aussi le moins cher : ce que l'on sa...
[Articles]
Legacy of Kain Soul Reaver 1&2 Remastered
[Articles]
The Thing Remastered
[Articles]
Mario & Luigi : L'épopée fraternelle
[Articles]
Deel acquiert la plateforme mondiale de gestion de la rémunération Assemble
[Articles]
Xuan Yuan Sword: The Gate of Firmament
[Articles]
Cyber-sécurité : bilan 2024 et regard vers 2025 par Andy Garth, directeur Aff...
[Articles]
Diesel Legacy: The Brazen Age
[Articles]
FANTASIAN Neo Dimension
[Articles]
Fairy Tail 2
[Articles]
Réseaux sociaux inondés d'arnaques deepfake ; Formbook, voleur d'informations ...
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] execve - Exécuter un programme. [size=18] [b]Résumé[/b] [/size] [b]#include
[/b] [b][i]int execve (const char * fichier , char * const argv[/i][/b] [b][i][], char * const envp []);[/i][/b] [size=18] [b]Description[/b] [/size] [b]execve()[/b] exécute le programme correspondant au [i]fichier[/i]. Celui-ci doit être un exécutable binaire ou bien un script commençant par une ligne du type "[b]#![/b] [i]interpréteur[/i] [arg]". Dans ce dernier cas, l'interpréteur doit être indiqué par un nom complet, avec son chemin d'accès, et qui sera invoqué sous la forme [b]interpréteur[/b] [arg] [i]fichier[/i]. [i]argv[/i] est un tableau de chaînes d'arguments passées au nouveau programme. [i]envp[/i] est un tableau de chaînes, ayant par convention la forme [b]cle=valeur ,[/b] qui sont passées au nouveau programme comme environnement. [i]argv[/i] ainsi que [i]envp[/i] doivent se terminer par un pointeur NULL. Les arguments et l'environnement sont accessibles par le nouveau programme dans sa fonction principale, lorsqu'elle est définie comme [b]int[/b] main (int argc, char * argv [], char * envp []). En cas de réussite, [b]execve()[/b] ne revient pas à l'appelant, et les segments de texte, de données, ainsi que la pile du processus appelant sont remplacés par ceux du programme chargé. Le programme invoqué hérite du PID du processus appelant, et de tous les descripteurs de fichiers qui ne possèdent pas le drapeau Close-on-Exec. Les signaux en attente destinés au processus parent sont effacés. Les signaux prêts à être intercepté par le processus appelant reprennent leur comportement par défaut. Le signal SIGCHLD (lorsqu'il est configuré sur SIG_IGN) peut ou non être réinitialisé à SIG_DFL. Si l'on effectuait un [b]ptrace (2)[/b] sur le programme appelant, un signal [b]SIGTRAP[/b] est envoyé après la réussite de [b]execve()[/b]. Si le bit Set-UID est positionné sur le [i]fichier[/i] du programme, l'UID effectif du processus appelant est modifié pour prendre celui du propriétaire du fichier. De même, lorsque le bit Set-GID est positionné, le GID effectif est modifié pour correspondre à celui du groupe du fichier. Si l'exécutable est un fichier binaire a.out lié dynamiquement, et contenant des appels aux bibliothèques partagées, le linker dynamique de Linux [b]ld.so (1)[/b] est appelé avant l'exécution, afin de charger les bibliothèques partagées nécessaires en mémoire, et d'effectuer l'édition des liens de l'exécutable. Si l'exécutable est au format ELF lié dynamiquement, l'interpréteur indiqué dans le segment PT_INTERP sera invoqué pour charger les bibliothèques partagées. Cet interpréteur est généralement [i]/lib/ld-linux.so.1[/i] pour les fichiers binaires liés avec la libc Linux version 5, ou [i]/lib/ld-linux.so.2[/i] pour ceux liés avec la GNU libc version 2. [size=18] [b]Valeur renvoyée[/b] [/size] En cas de réussite, [b]execve()[/b] ne revient pas, en cas d'échec il renvoie -1 et [i]errno[/i] contient le code d'erreur. [size=18] [b]Erreurs[/b] [/size] [b]EACCES[/b] [table][row][col] [/col][col]Le [i]fichier[/i] n'est pas un fichier régulier.[/col][/row][/table] [b]EACCES[/b] [table][row][col] [/col][col]L'autorisation d'exécution est refusée pour le [i]fichier[/i], ou un script, ou un interpréteur ELF.[/col][/row][/table] [b]EACCES[/b] [table][row][col] [/col][col]Le système de fichiers est monté avec l'option [b]noexec .[/b][/col][/row][/table] [b]EPERM[/b] [table][row][col] [/col][col]Le système de fichiers est monté avec l'attribut [i]nosuid[/i] et le fichier a un bit Set-UID ou Set-GID positionné.[/col][/row][/table] [b]EPERM[/b] [table][row][col] [/col][col]Le processus est suivi avec [b]ptrace[/b](2), l'utilisateur n'est pas le Super-User, et le fichier a un bit Set-UID ou Set-GID activé.[/col][/row][/table] [b]E2BIG[/b] [table][row][col] [/col][col]La liste d'arguments est trop grande.[/col][/row][/table] [b]ENOEXEC[/b] [table][row][col] [/col][col]Le fichier exécutable n'est pas dans le bon format, ou est destiné à une autre architecture.[/col][/row][/table] [b]EFAULT[/b] [table][row][col] [/col][col]L'argument [i]fichier[/i] pointe en dehors de l'espace d'adressage accessible.[/col][/row][/table] [b]ENAMETOOLONG[/b] [table][row][col] [/col][col]La chaîne de caractères [i]fichier[/i] est trop longue.[/col][/row][/table] [b]ENOENT[/b] [table][row][col] [/col][col]Le [i]fichier[/i] ou un script ou un interpréteur ELF n'existe pas, ou une bibliothèque partagée nécessaire pour le fichier ou l'interpréteur n'est pas disponible.[/col][/row][/table] [b]ENOMEM[/b] [table][row][col] [/col][col]Pas assez de mémoire pour le noyau.[/col][/row][/table] [b]ENOTDIR[/b] [table][row][col] [/col][col]Un élément du chemin d'accès n'est pas un répertoire.[/col][/row][/table] [b]EACCES[/b] [table][row][col] [/col][col]L'accès à un élément du chemin n'est pas autorisé.[/col][/row][/table] [b]ELOOP[/b] [table][row][col] [/col][col]Le chemin d'accès au [i]fichier [/i] contient une référence circulaire (à travers un lien symbolique)[/col][/row][/table] [b]ETXTBSY[/b] [table][row][col] [/col][col]Le [i]fichier[/i] exécutable a été ouvert en écriture par un ou plusieurs processus.[/col][/row][/table] [b]EIO[/b] [table][row][col] [/col][col]Une erreur d'entrée/sortie de bas-niveau s'est produite.[/col][/row][/table] [b]ENFILE[/b] [table][row][col] [/col][col]Le nombre maximal de fichiers ouverts sur le système est atteint[/col][/row][/table] [b]EMFILE[/b] [table][row][col] [/col][col]Le nombre maximal de fichiers ouverts par processus est atteint.[/col][/row][/table] [b]EINVAL[/b] [table][row][col] [/col][col]Un exécutable ELF a plusieurs segments PT_INTERP (indique plusieurs interpréteurs).[/col][/row][/table] [b]EISDIR[/b] [table][row][col] [/col][col]L'interpréteur ELF cité est un répertoire.[/col][/row][/table] [b]ELIBBAD[/b] [table][row][col] [/col][col]L'interpréteur ELF mentionné n'est pas dans un format connu.[/col][/row][/table] [size=18] [b]Conformité[/b] [/size] SVr4, SVID, X/OPEN, BSD 4.3. POSIX ne documente pas le comportement avec #! mais est néanmoins compatible. SVr4 décrit des erreurs supplémentaires EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX ne décrit pas les conditions d'erreur ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, EISDIR, ni ELIBBAD. [size=18] [b]Notes[/b] [/size] Les processus Set-UID et Set-GID ne peuvent pas être suivis par [b]ptrace()[/b]. Linux ignore les bits Set-UID et Set-GID sur les scripts. Le résultat d'un montage de système de fichiers avec l'attribut [i]nosuid[/i] peut varier suivant les versions de noyau : certaines refuseront l'exécution des fichiers SUID/SGID lorsque cela donnerait à l'appelant des privilèges qu'il n'a pas (et renverront l'erreur EPERM), d'autres ignoreront simplement les bits SUID/SGID mais accepteront d'effectuer l'appel execve. La première ligne d'un shell script exécutable (#!) a une longueur maximale de 127 caractères. [size=18] [b]Voir aussi[/b] [/size] [b]chmod (2),[/b] [b]fork (2),[/b] [b]execl (3),[/b] [b]environ (5),[/b] [b]ld.so (8).[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1996-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Windows
Windows 11 : le menu Démarrer ne fonctionne parfois plus après la mise à jour
Jeux Vidéos
Test Legacy of Kain Soul Reaver 1&2 Remastered (PS5) - Raziel de retour
Tablettes
2025 nous apportera le nouvel iPad abordable : nouveaux détails de lancement
Google
Découvrons quand le Père Noël arrivera pour livrer nos cadeaux, avec Santa Tracker de Google
Consoles
Nintendo Switch 2, la date d'annonce et le mois de sortie ont-ils été révélés par un leaker ?
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?