File: exec.3

package info (click to toggle)
manpages-fr 0.9.3-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 7,052 kB
  • ctags: 4
  • sloc: makefile: 58; sh: 8
file content (216 lines) | stat: -rw-r--r-- 7,179 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
.\" Copyright (c) 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)exec.3	6.4 (Berkeley) 4/19/91
.\"
.\" Converted for Linux, Mon Nov 29 11:12:48 1993, faith@cs.unc.edu
.\"
.\"
.\" Traduction 23/10/1996 par Christophe Blaess (ccb@club-internet.fr)
.\" Mise a jour 19/07/1997
.\" Mise  jour 04/06/2001 - LDP-man-pages-1.36
.TH EXEC 3 "4 Juin 2001" BSD "Manuel du programmeur Linux"
.SH NOM
execl, execlp, execle, execv, execvp \- Excuter un programme.
.SH SYNOPSIS
.B #include <unistd.h>
.sp
.B extern char **environ;
.sp
.BI "int execl (const char *" path ", const char *" arg ", ...);
.br
.BI "int execlp (const char *" file ", const char *" arg ", ...);
.br
.BI "int execle (const char *" path ", const char *" arg
.BI ", ..., char * const " envp "[]);"
.br
.BI "int execv (const char *" path ", char *const " argv "[]);"
.br
.BI "int execvp (const char *" file ", char *const " argv "[]);"
.SH DESCRIPTION
La famille de fonctions
.B exec
remplace l'image mmoire du processus en cours par un nouveau processus.
Les fonctions dcrites dans cette page sont en ralite des frontaux pour
l'appel systme
.BR execve (2).
(Voir la page de
.B execve
pour des informations dtailles sur le remplacement du processus en cours.)
.PP
L'argument initial de toutes ces fonctions est le chemin d'accs du fichier
 excuter.
.PP
Les arguments
.I "const char *arg"
ainsi que les points de suspension des fonctions
.BR execl ,
.BR execlp ,
et
.B execle
peuvent tre vues comme des
.IR arg0 ,
.IR arg1 ,
\&...,
.IR argn .
Ensemble ils dcrivent une liste d'un ou plusieurs pointeurs sur des
chanes de caractres termines par des caractres nuls, qui constituent les
arguments disponibles pour le programme  excuter. 
Par convention le premier argument doit pointer sur le nom du fichier associ 
au programme  excuter. La liste des arguments
.I doit
se terminer par un pointeur
.BR NULL .
.PP
Les fonctions
.B execv
et
.B execvp
utilisent un tableau de pointeurs sur des chanes de caractres termines
par des caractres nuls, qui constituent les
arguments disponibles pour le programme  excuter. 
Par convention le premier argument doit pointer sur le nom du fichier associ
au programme  excuter. Le tableau de pointeur
.I doit
se terminer par un pointeur
.BR NULL .
.PP
La fonction
.B execle
peut galement indiquer l'environnement du processus  excuter en faisant
suivre le pointeur
.B NULL
qui termine la liste d'arguments, ou le pointeur
.B NULL
de la table par  un paramtre supplmentaire.
Ce paramtre est un tableau de pointeurs sur des chanes de caractres termines
par des caractres nuls, qui 
.I doit
se terminer par un pointeur
.BR NULL .
Les autres fonctions fournissent au nouveau processus l'environnement
constitu par la variable externe
.IR environ .
.PP
Certaines de ces fonctions ont une smantique spcifique.
.PP
Les fonctions
.B execlp
et
.B execvp
agiront comme le shell dans la recherche du fichier excutable si
le nom fourni ne contient pas de slash (/).  Le chemin de recherche
est spcifi dans la variable d'environnement
.BR PATH .
Si cette variable n'est pas dfinie, le chemin par dfaut sera
``/bin:/usr/bin:''.  De plus certaines
erreurs sont traites de manire spcifique.
.PP
Si la permission d'accs au fichier est refuse
.RB ( execve
renvoie
.BR EACCES ),
ces fonctions continueront  parcourir le reste du chemin de recherche. Si
aucun fichier n'est trouv, elle reviendront, et 
.I errno
contiendra le code d'erreur
.BR EACCES .
.PP
Si l'en-tte d'un fichier n'est pas reconnu
.RB ( execve
renvoie
.BR ENOEXEC ),
ces fonctions excuteront un shell avec le chemin d'accs au fichier
en tant que premier argument. Si ceci choue, aucune recherche supplmentaire
n'est effectue.
.SH "VALEUR RENVOYE"
Si l'une quelconque des fonctions
.B exec
revient  l'appelant, c'est qu'une erreur a eu lieu. La valeur de retour est
\-1, et 
.I errno
contient le code d'erreur.
.SH FICHIERS
.I /bin/sh
.SH ERREURS
Toutes ces fonctions
peuvent chouer et positionner
.I errno
sur n'importe quelle erreur dcrite dans la fonction
.BR execve (2).
.SH "VOIR AUSSI"
.BR sh (1),
.BR execve (2),
.BR fork (2),
.BR environ (5),
.BR ptrace (2)
.SH COMPATIBILIT
Sur certains systmes, le chemin de recherche par dfaut (employ si l'environnement ne contient
pas la variable \fBPATH\fR) contient
le rpertoire courant  la suite de
.I /bin
et
.IR /usr/bin ,
afin d'viter les chevaux de Troie. Linux utilise
encore le rpertoire courant en premier dans ce chemin de recherche par dfaut.
.PP
Le comportement de
.B execlp
et
.B execvp
lorsqu'une erreur se produit est une pratique historique mais n'a
traditionnellement jamais t document, ni spcifi dans le standard
POSIX.
Lorsque l'erreur ETXTBSY se dclenche (fichier excutable ouvert en
criture par un autre processus), BSD (et peut-tre d'autres systmes)
endorment le processus appelant puis riterent l'opration. Linux
considre cette situation comme une erreur grave, et revient immdiatement.
.PP
Habituellement, les fonctions
.B execlp
et
.B execvp
ignoraient toutes les erreurs sauf celles dcrites ci-dessus, 
.B ENOMEM
et
.BR E2BIG .
Dsormais, elles reviennent  l'appelant si une autre erreur que celles-ci
se produit.
.SH "CONFORMIT"
.BR execl ,
.BR execv ,
.BR execle ,
.B execlp
et
.B execvp
sont conformes  IEEE Std1003.1-88 (``POSIX.1'').
.SH TRADUCTION
Christophe Blaess, 1997.