AT&T UNIX™PC Unix System V Users Manual - tenox
AT&T UNIX™PC Unix System V Users Manual - tenox AT&T UNIX™PC Unix System V Users Manual - tenox
EXEC (2) EXEC (2) Envp is an array of character pointers to null-terminated strings. These strings constitute the environment for the new process. Envp is terminated by a null pointer. For execl and execv, the C run-time start-off routine places a pointer to the calling process's environment in the global cell: extern char uenviron; and it is used to pass the calling process's environment to the new process. File descriptors open in the calling process remain open in the new process, except for those whose close-on-exec flag is set; see fcntl(2). For those file descriptors that remain open, the file pointer is unchanged. Signals set to terminate the calling process will be set to terminate the new process. Signals set to be ignored by the calling process will be set to be ignored by the new process. Except for SIG PHONE and SIGWIND, signals set to be caught by the calling process will be set to terminate new process; see signal(2). If the set-user-ID mode bit of the new process file is set (see chmod(2)), exec sets the effective user ID of the new process to the owner ID of the new process file. Similarly, if the set-group-ID mode bit of the new process file is set, the effective group ID of the new process is set to the group ID of the new process file. The real user ID and real group ID of the new process remain the same as those of the calling process. The shared memory segments attached to the calling process will not be attached to the new process (see shmop(2)). Profiling is disabled for the new process; see profil(2). The new process also inherits the following attributes from the calling process: nice value (see nice(2)) process ID parent process ID process group ID semadj values (see semop (2)) tty group ID (see exit(2) and signal(2)) trace flag (see ptrace(2) request o) time left until an alarm clock signal (see alarm(2)) current working directory root directory file mode creation mask (see umask(2)) file size limit (see ulimit(2)) utime, stime, cutime , and cstime (see times(2)) Exec will fail and return to the calling process if one or more of ) the following are true: One or more components of the new process file's path name do not exist. [ENOENT] A component of the new process file's path prefix is not a directory. [ENOTDm[ - 2-
EXEC (2) EXEC (2) Search perm1ss10n is denied for a directory listed in the new process file's path prefix. [EACCES] The new process file is not an ordinary file. [EACCESJ The new process file mode denies execution permission. [EACCES[ The exec is not an execlp or execvp , and the new process file has the appropriate access permission but an invalid magic number in its header. [ENOEXECJ The new process file is a pure procedure (shared text) file that is currently open for writing by some process. [ETXTBSYJ The new process requires more memory than is allowed by the system-imposed maximum MAXMEM. [ENOMEM] The number of bytes in the new process's argument list is greater than the system-imposed limit of 5120 bytes. [E2BIGJ The new process file is not as long as indicated by the size values in its header. [EFAULT] Path , argv, or envp point to an illegal address. [EF AUL T] RETURN VALUE If exec returns to the calling process an error has occurred; the return value will be -1 and errno will be set to indicate the error. SEE ALSO exit(2), fork(2), environ(S). - 3-
- Page 630 and 631: VI (l) VI (l) won't be broken. Inse
- Page 632 and 633: � I . .... .,_ J _ . . ·
- Page 634 and 635: .. \ '-�� -·
- Page 637 and 638: WIIO (I) WHO(l) NAME who - who is o
- Page 639: WRITE ( l ) WRITE ( l ) NAME write
- Page 642 and 643: XARGS(l) XARGS (l) -nnumber Execute
- Page 645 and 646: YACC { I ) YACC { l ) NAME yacc - y
- Page 647 and 648: INTRO ( 2) INTR0 ( 2 ) NAME intro -
- Page 649 and 650: INTRO ( 2) INTR0 (2) 21 EISDffi Is
- Page 651 and 652: INTRO (2) INTRO ( 2) ProcO is the s
- Page 653 and 654: INTR0 (2) INTR0 (2) permission requ
- Page 655 and 656: INTR0 (2) time_t shm_dtime; time_t
- Page 657: ACCESS (2} ACCESS (2} NAME access -
- Page 661 and 662: ALARM (2) ALARM (2) NAME alarm - se
- Page 663: BRK(2) BRK ( 2 ) NAME brk, sbrk - c
- Page 667 and 668: CHMOD (2) CHMOD (2) NAME chmod - ch
- Page 669: CHOWN(2) CHOWN(2) NAME chown - chan
- Page 673 and 674: CLOSE ( 2) CLOSE (2) NAME close - c
- Page 675 and 676: CREAT ( 2 ) CREAT ( 2 ) NAME creat
- Page 677 and 678: DUP (2) DUP (2) NAME dup - duplicat
- Page 679: EXEC (2) EXEC (2) NAME execl, execv
- Page 684 and 685: EXIT (2) EXIT (2) WARNING See WARNI
- Page 686 and 687: FCNTL (2) FCNTL (2) immediately wit
- Page 689 and 690: FORK(2) FORK(2) NAME fork - create
- Page 691: GETPID ( 2} GETPID (2) NAME getpid,
- Page 694 and 695: I I I I I I I I I I I I I I I I I I
- Page 696 and 697: �-
- Page 699: LINK ( 2 ) LINK ( 2 ) NAME link - l
- Page 703 and 704: MKNOD (2) MKNOD (2) NAME mknod - ma
- Page 705: MOUNT (2) MOUNT (2) NAME mount - mo
- Page 708 and 709: MSGCTL(2) MSGCTL ( 2 ) user ID of t
- Page 710 and 711: MSGGET (2) MSGGET (2) SEE ALSO msgc
- Page 712 and 713: MSGOP ( 2) MSGOP (2) the calling pr
- Page 714 and 715: If)
- Page 717 and 718: OPEN ( 2 ) OPEN ( 2 ) NAME open - o
- Page 719: OPEN(2) OPEN(2) O_NDELAY is set, th
- Page 722 and 723: I�
- Page 725 and 726: PLOCK(2) PLOCK(2) NAME plock - lock
- Page 727: PROFIL ( 2 ) PROFIL ( 2 ) NAME prof
EXEC (2) EXEC (2)<br />
Envp is an array of character pointers to null-terminated strings.<br />
These strings constitute the environment for the new process.<br />
Envp is terminated by a null pointer. For execl and execv, the C<br />
run-time start-off routine places a pointer to the calling process's<br />
environment in the global cell:<br />
extern char uenviron;<br />
and it is used to pass the calling process's environment to the new<br />
process.<br />
File descriptors open in the calling process remain open in the new<br />
process, except for those whose close-on-exec flag is set; see<br />
fcntl(2). For those file descriptors that remain open, the file<br />
pointer is unchanged.<br />
Signals set to terminate the calling process will be set to terminate<br />
the new process. Signals set to be ignored by the calling process<br />
will be set to be ignored by the new process. Except for SIG<br />
PHONE and SIGWIND, signals set to be caught by the calling<br />
process will be set to terminate new process; see signal(2).<br />
If the set-user-ID mode bit of the new process file is set (see<br />
chmod(2)), exec sets the effective user ID of the new process to the<br />
owner ID of the new process file. Similarly, if the set-group-ID<br />
mode bit of the new process file is set, the effective group ID of the<br />
new process is set to the group ID of the new process file. The real<br />
user ID and real group ID of the new process remain the same as<br />
those of the calling process.<br />
The shared memory segments attached to the calling process will<br />
not be attached to the new process (see shmop(2)).<br />
Profiling is disabled for the new process; see profil(2).<br />
The new process also inherits the following attributes from the<br />
calling process:<br />
nice value (see nice(2))<br />
process ID<br />
parent process ID<br />
process group ID<br />
semadj values (see semop (2))<br />
tty group ID (see exit(2) and signal(2))<br />
trace flag (see ptrace(2) request o)<br />
time left until an alarm clock signal (see alarm(2))<br />
current working directory<br />
root directory<br />
file mode creation mask (see umask(2))<br />
file size limit (see ulimit(2))<br />
utime, stime, cutime , and cstime (see times(2))<br />
Exec will fail and return to the calling process if one or more of )<br />
the following are true:<br />
One or more components of the new process file's path<br />
name do not exist. [ENOENT]<br />
A component of the new process file's path prefix is not a<br />
directory. [ENOTDm[<br />
- 2-