File: execve.2

package info (click to toggle)
manpages-es 0.4a-2
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 3,592 kB
  • ctags: 3
  • sloc: sh: 59; makefile: 42
file content (124 lines) | stat: -rw-r--r-- 4,226 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
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Modified by Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de)
.\" Modified Wed Jul 21 22:47:01 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 21 Aug 1994 by Michael Chastain (mec@shell.portal.com):
.\"   Fixed typoes.
.\" Translated 22 Dec 1995 Miguel A. Sepulveda (miguel@typhoon.harvard.edu)
.\" Modificado Mon Jul 21 03:29:34 1997 por Nicols Lichtmaier <nick@debian.org>
.\"
.TH EXECVE 2 "1 Julio 1996" "Linux 1.1.46" "Manual del Programador Linux"
.SH NOMBRE
execve \- ejecuta un programa
.SH SINOPSIS
.B #include <unistd.h>
.sp
.BI "int execve (const char *" filename ", const char *" argv
.BI "[], const char *" envp []);
.SH DESCRIPCIN
\fBexecve()\fP ejecuta el programa indicado por \fIfilename\fP.
\fIfilename\fP debe ser un binario ejecutable, o un manuscrito 
shell (shell script) comenzando con una lnea de la forma
"\fB#! \fIinterprete \fR[arg]".

\fBexecve()\fP no regresa en caso de xito, y el texto, dato, bss, y
la pila del proceso invocador se reescriben con los anlogos del
programa cargado. El programa invocado hereda el PID del proceso
invocador, y cualquier descriptor de fichero abierto que no halla sido
asignado para cerrar en exec. Las seales pendientes del proceso
ascendiente se limpian.

Si el programa presente est bajo inspeccin de ptrace, 
se le enviar una seal  \fBSIGTRAP\fP 
trs la ejecucin exitosa de \fBexecve()\fP.
.SH "VALOR REGRESADO"
En caso de xito \fBexecve()\fP no regresa
mientras que en caso de error el valor regresado es \-1, y
la variable 
.I errno
se asigna apropiadamente.
.SH ERRORES
.TP
.B EACCES
El fichero no es un fichero regular.
.TP
.B EACCES
Permiso de ejecucin le ha sido denegada al fichero.
.TP
.B EPERM
El sistema de ficheros est montado
.IR noexec .
.TP
.B EPERM
El sistema de ficheros est montado
.I nosuid
y el fichero tiene un SUID o SGID bit asignado.
.TP
.B E2BIG
La lista de argumentos es demasiado grande.
.TP
.B ENOEXEC
El nmero mgico en el fichero es incorrecto.
.TP
.B EFAULT
.I filename
indica fuera de su espacio de direcciones accesible.
.TP
.B ENAMETOOLONG
.I filename
es demasiado largo.
.TP
.B ENOENT
El fichero no existe.   
.TP
.B ENOMEM
No hay suficiente memoria disponible en el kernel.
.TP
.B ENOTDIR
Un componente del camino (path) no es un directorio.
.TP
.B EACCES
Permiso de bsqueda ha sido denegado en uno de los componentes
del camino.
.TP
.B ELOOP
.I filename
contiene una referencia circular (o sea via ligadura simblica)
.TP
.B ETXTBUSY
El ejecutable fue abierto para escritura por uno o ms procesos.
.SH "CONFORMA CON"
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
.SH NOTAS
Procesos SUID y SGID no pueden ser inspeccionados con 
\fBptrace()\fP SUID  SGID.

La longitud mxima de lnea en un ejecutable del tipo #!  es de 127
caracteres en la primera lnea del fichero. Una forma de circunvenir
esto es cambiando el tamao mximo del acumulador (buffer), en cuyo
caso se quedar limitado al tamao de 1024 byte de un acumulador, y
esto no es algo que se pueda evitar fcilmente.
.SH "VASE TAMBIN"
.BR execl "(3), " fork (2)