Provided by:
manpages-zh_1.5.2-1_all 
NAME
execve -
(SYNOPSIS)
#include <unistd.h>
int execve (const char *filename, char *const argv [], char *const
envp[]);
(DESCRIPTION)
execve() filename . filename , "#! interpreter [arg]" .
interpreter , , "interpreter [arg] filename".
execve() , (text), (data), bss (stack) . PID , exec
. . .
ptrace , execve() SIGTRAP .
a.out , stub, , Linux (linker) ld.so(8) , .
ELF , PT_INTERP (interpreter) . libc5 /lib/ld-
linux.so.1, GNU libc2 (libc6) /lib/ld-linux.so.2.
(RETURN VALUE)
execve() , -1, errno .
(ERRORS)
EACCES .
EACCES .
EACCES (mount) noexec.
EPERM nosuid, , SUID SGID .
EPERM , , SUID SGID .
E2BIG .
ENOEXEC , , .
EFAULT filename .
ENAMETOOLONG
filename .
ENOENT filename , , ELF .
ENOMEM .
ENOTDIR filename , ELF , .
EACCES filename , .
ELOOP filename , ELF .
ETXTBUSY
.
EIO I/O .
ENFILE .
EMFILE .
EINVAL ELF PT_INTERP (, ).
EISDIR ELF .
ELIBBAD ELF .
CONFORMING TO
SVr4, SVID, X/OPEN, BSD 4.3. POSIX #! , . SVr4 EAGAIN, EINTR,
ELIBACC, ENOLINK, EMULTIHOP; POSIX ETXTBSY, EPERM, EFAULT, ELOOP,
EIO, ENFILE, EMFILE, EINVAL, EISDIR ELIBBAD .
(NOTES)
SUID and SGID processes can not be ptrace()d SUID or SGID.
#! shell , 127 .
Linux SUID SGID .
(SEE ALSO)
ld.so(8), execl(3), fork(2)
[]
<xuming@users.sourceforge.net>
[]
2003/05/13
Linuxman
http://cmpp.linuxforum.net