Loading...
--- Libc/Libc-583/gen/exec.3
+++ Libc/Libc-262.2.12/gen/exec.3
@@ -30,18 +30,18 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)exec.3 8.3 (Berkeley) 1/24/94
-.\" $FreeBSD: src/lib/libc/gen/exec.3,v 1.23 2003/09/10 19:24:32 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/exec.3,v 1.16 2001/10/01 16:08:50 ru Exp $
.\"
.Dd January 24, 1994
.Dt EXEC 3
.Os
.Sh NAME
.Nm execl ,
+.Nm execlp ,
.Nm execle ,
-.Nm execlp ,
+.Nm exect ,
.Nm execv ,
-.Nm execvp ,
-.Nm execvP
+.Nm execvp
.Nd execute a file
.Sh LIBRARY
.Lb libc
@@ -49,43 +49,17 @@
.In unistd.h
.Vt extern char **environ ;
.Ft int
-.Fo execl
-.Fa "const char *path"
-.Fa "const char *arg0"
-.Fa ... /* "(char *)0" */
-.Fc
-.Ft int
-.Fo execle
-.Fa "const char *path"
-.Fa "const char *arg0"
-.Fa ...
-.Fa /*
-.Bk -words
-.Fa "(char *)0" "char *const envp[]" */
-.Ek
-.Fc
-.Ft int
-.Fo execlp
-.Fa "const char *file"
-.Fa "const char *arg0"
-.Fa ... /* "(char *)0" */
-.Fc
-.Ft int
-.Fo execv
-.Fa "const char *path"
-.Fa "char *const argv[]"
-.Fc
-.Ft int
-.Fo execvp
-.Fa "const char *file"
-.Fa "char *const argv[]"
-.Fc
-.Ft int
-.Fo execvP
-.Fa "const char *file"
-.Fa "const char *search_path"
-.Fa "char *const argv[]"
-.Fc
+.Fn execl "const char *path" "const char *arg" ...
+.Ft int
+.Fn execlp "const char *file" "const char *arg" ...
+.Ft int
+.Fn execle "const char *path" "const char *arg" ...
+.Ft int
+.Fn exect "const char *path" "char *const argv[]" "char *const envp[]"
+.Ft int
+.Fn execv "const char *path" "char *const argv[]"
+.Ft int
+.Fn execvp "const char *file" "char *const argv[]"
.Sh DESCRIPTION
The
.Nm exec
@@ -101,7 +75,7 @@
is to be executed.
.Pp
The
-.Fa "const char *arg0"
+.Fa "const char *arg"
and subsequent ellipses in the
.Fn execl ,
.Fn execlp ,
@@ -123,10 +97,10 @@
pointer.
.Pp
The
+.Fn exect ,
.Fn execv ,
-.Fn execvp ,
-and
-.Fn execvP
+and
+.Fn execvp
functions provide an array of pointers to null-terminated strings that
represent the argument list available to the new program.
The first argument, by convention, should point to the file name associated
@@ -139,12 +113,14 @@
.Pp
The
.Fn execle
-function also specifies the environment of the executed process
-by following the
-.Dv NULL
-pointer that terminates the list of arguments in the argument list
-or the pointer to the argv array with an additional argument.
-This additional argument is an array of pointers to null-terminated strings
+and
+.Fn exect
+functions also specify the environment of the executed process by following
+the
+.Dv NULL
+pointer that terminates the list of arguments in the parameter list
+or the pointer to the argv array with an additional parameter.
+This additional parameter is an array of pointers to null-terminated strings
and
.Em must
be terminated by a
@@ -158,31 +134,23 @@
Some of these functions have special semantics.
.Pp
The functions
-.Fn execlp ,
-.Fn execvp ,
-and
-.Fn execvP
+.Fn execlp
+and
+.Fn execvp
will duplicate the actions of the shell in searching for an executable file
if the specified file name does not contain a slash
.Dq Li /
character.
-For
-.Fn execlp
-and
-.Fn execvp ,
-search path is the path specified in the environment by
+The search path is the path specified in the environment by
.Dq Ev PATH
variable.
If this variable isn't specified,
the default path is set according to the
.Dv _PATH_DEFPATH
definition in
-.In paths.h ,
+.Aq paths.h ,
which is set to
.Dq Ev /usr/bin:/bin .
-For
-.Fn execvP ,
-the search path is specified as an argument to the function.
In addition, certain errors are treated specially.
.Pp
If an error is ambiguous (for simplicity, we shall consider all
@@ -217,6 +185,11 @@
these functions will execute the shell with the path of
the file as its first argument.
(If this attempt fails, no further searching is done.)
+.Pp
+The function
+.Fn exect
+executes a file with the program tracing facilities enabled (see
+.Xr ptrace 2 ) .
.Sh RETURN VALUES
If any of the
.Fn exec
@@ -230,14 +203,11 @@
The shell.
.El
.Sh ERRORS
-The
-.Fn execl ,
+.Fn Execl ,
.Fn execle ,
-.Fn execlp ,
-.Fn execvp ,
-and
-.Fn execvP
-functions
+.Fn execlp
+and
+.Fn execvp
may fail and set
.Va errno
for any of the errors specified for the library functions
@@ -245,9 +215,10 @@
and
.Xr malloc 3 .
.Pp
-The
+.Fn Exect
+and
.Fn execv
-function may fail and set
+may fail and set
.Va errno
for any of the errors specified for the library function
.Xr execve 2 .
@@ -255,6 +226,7 @@
.Xr sh 1 ,
.Xr execve 2 ,
.Xr fork 2 ,
+.Xr ktrace 2 ,
.Xr ptrace 2 ,
.Xr environ 7
.Sh COMPATIBILITY
@@ -277,11 +249,11 @@
.Tn POSIX
standard.
.Pp
-Traditionally, the
-.Fn execlp
-and
-.Fn execvp
-functions ignored all errors except for the ones described above and
+Traditionally, the functions
+.Fn execlp
+and
+.Fn execvp
+ignored all errors except for the ones described above and
.Er ETXTBSY ,
upon which they retried after sleeping for several seconds, and
.Er ENOMEM
@@ -314,17 +286,11 @@
The behaviour was changed to match the behaviour of
.Xr sh 1 .
.Sh STANDARDS
-The
-.Fn execl ,
+.Fn Execl ,
.Fn execv ,
.Fn execle ,
-.Fn execlp ,
-and
-.Fn execvp
-functions
+.Fn execlp
+and
+.Fn execvp
conform to
.St -p1003.1-88 .
-The
-.Fn execvP
-function first appeared in
-.Fx 5.2 .