|
|
1.1 ! root 1: .pa 1 ! 2: .he 'EXEC (II)'3/15/72'EXEC (II)' ! 3: .ti 0 ! 4: NAME exec -- execute a file ! 5: .sp ! 6: .ti 0 ! 7: SYNOPSIS sys exec; name; args / exec = 11. ! 8: .br ! 9: .li ! 10: ... ! 11: .ti -6 ! 12: name: <...\\0> ! 13: .br ! 14: .li ! 15: ... ! 16: .ti -6 ! 17: args: arg1; arg2; ...; 0 ! 18: .ti -6 ! 19: arg1: <...\\0> ! 20: .br ! 21: .li ! 22: ... ! 23: .sp ! 24: .ti 0 ! 25: DESCRIPTION exec____ ! 26: overlays the calling process with the named file, then ! 27: transfers to the ! 28: beginning of the core image of the file. ! 29: The first argument to exec____ is a pointer to the name of the file ! 30: to be executed. ! 31: The second is the address of a list of pointers to ! 32: arguments to be passed to the file. ! 33: Conventionally, the first argument is the name of the ! 34: file. ! 35: Each pointer addresses a string terminated by a null byte. ! 36: .sp ! 37: There can be no return from the file; the calling core image ! 38: is lost. ! 39: ! 40: The program break is set from the executed file; see the format ! 41: of a.out. ! 42: ! 43: Once the called file starts execution, the arguments are available ! 44: as follows. ! 45: The stack pointer points to a word containing the number of arguments. Just above ! 46: this number is a list of pointers to the argument strings. ! 47: ! 48: sp-> nargs ! 49: arg1 ! 50: ... ! 51: argn ! 52: ! 53: arg1: <arg1\\0> ! 54: ... ! 55: argn: <argn\\0> ! 56: ! 57: The arguments are placed as high as possible in core: ! 58: just below 57000(8). ! 59: ! 60: Files remain open across ! 61: exec____ calls. However, the illegal instruction, emt___, quit, and interrupt trap ! 62: specifications are reset to the standard values. ! 63: (See ilgins______, cemt____, quit____, intr____.) ! 64: ! 65: Each user has a real____ user ID and an effective_________ user ID ! 66: (The real ID identifies the person using the system; ! 67: the effective ID determines his access privileges.) ! 68: exec____ changes the effective user ID to ! 69: the owner of the executed file if the file has the "set-user-ID" ! 70: mode. The real user ID is not affected. ! 71: .sp ! 72: .ti 0 ! 73: SEE ALSO fork(II) ! 74: .sp ! 75: .ti 0 ! 76: DIAGNOSTICS If ! 77: the file cannot be read or if it is not executable, a return ! 78: from exec____ constitutes the diagnostic. ! 79: The error bit (c-bit) is set. ! 80: .sp ! 81: .ti 0 ! 82: BUGS Very high core and ! 83: very low core are used by exec____ ! 84: to construct the argument list ! 85: for the new core image. ! 86: If the original copies of the ! 87: arguments reside in these places, ! 88: problems can result.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.