11/3/71 | SYS_EXEC (II) |
| |
NAME |
exec --execute a file |
SYNOPSIS |
sys exec; name; args / exec = 11. |
| |
| name: <...\0>... args: arg1; arg2; ...; 0arg1: <...\0> ... |
DESCRIPTION |
exec overlays the calling process with the named file,then transfers to the beginning of the core image of the |
| |
| file. The first argument to exec is a pointer to the nameof the file to be executed. The second is the address of a list of pointers to arguments to be passed to the file.Conventionally, the first argument is the name of the file. Each pointer addresses a string terminated by a nullbyte. |
| |
| There can be no return from the file; the calling coreimage is lost. The program break is set from the executed file; see theformat of a.out. Once the called file starts execution, the arguments arepassed as follows. The stack pointer points to the number of arguments. Just above this number is a list of pointersto the argument strings. |
| |
| sp--> nargs |
| |
| arg1... argn arg1: ... argn: The arguments are placed as high as possible incore: justbelow 60000(8). |
| |
| Files remain open across exec calls. However, the illegalinstruction, emt, quit, and interrupt trap specifications are reset to the standard values. (See ilgins, cemt,intr). |
| |
| Each user has a real user ID and an effective (The real IDidentifies the person using the system; the effective ID determines his access privileges.) exec changes theeffective user ID to the owner of the executed file if the file has the "set--user--ID mode. The real user ID is notaffected. |
| |
| |