|
|
1.1 ! root 1: .th PROCTAB FILES ! 2: .sh NAME ! 3: \&.../files/proctab7 \- \*(II runtime configuration information ! 4: .sh DESCRIPTION ! 5: The process table ! 6: describes the runtime configuration ! 7: of the \*(II system. ! 8: Each line of the process table ! 9: has a special meaning depending on the first ! 10: character of the line. ! 11: Blank lines ! 12: and lines beginning with an asterisk ! 13: are comments. ! 14: All other lines have a sequence of fields ! 15: separated by commas. ! 16: Pipe descriptor fields ! 17: are lower case letters ! 18: or digits; ! 19: if they are digits ! 20: they are replaced by file descriptors ! 21: from the \*(EE flag ! 22: or the @ flag. ! 23: .s3 ! 24: .bd D ! 25: defines a macro. ! 26: The first field is a single character ! 27: macro name. ! 28: The second field is the string to use as the value. ! 29: Macros are expanded using ``$\fIx\fP'' ! 30: where ! 31: .it x ! 32: is the macro name. ! 33: The macro ``P'' is predefined ! 34: to be the pathname of the \*(II subtree. ! 35: .s3 ! 36: .bd P ! 37: introduces a process description. ! 38: All lines up to an end of file ! 39: or another P line ! 40: describe a single process. ! 41: The first field is the process number. ! 42: The next field is the pathname of the binary ! 43: to execute for this process. ! 44: The third field is the name of the process ! 45: to use for printing messages. ! 46: The fourth field must be a single character ! 47: lower case letter ! 48: representing the input pipe that is normally read ! 49: when nothing special is happening, ! 50: or a vertical bar followed by a single digit, ! 51: meaning to read from that file descriptor. ! 52: The next field is a set of flags in octal ! 53: regarding processing of this process; ! 54: these are described below. ! 55: The final field is a single letter ! 56: telling what trace flag this process uses. ! 57: .s3 ! 58: .bd L ! 59: defines what modules are defined locally ! 60: by this process. ! 61: The first field is the module number ! 62: used internally. ! 63: The second field is a set of flags ! 64: describing processing of this module: ! 65: the only bit defined is the 0001 bit ! 66: which allows this module to be executed ! 67: directly by the user. ! 68: The third field is the function number ! 69: in the process which defines this module. ! 70: The final field is the module number ! 71: to be executed after this module completes; ! 72: zero is nothing (return). ! 73: .s3 ! 74: .bd R ! 75: defines modules that are known to this process ! 76: but which must be passed to another process ! 77: for execution. ! 78: The first field is the process number the modules ! 79: will be found in. ! 80: The second field is the pipe to write ! 81: to get to that process. ! 82: The third field is the pipe to read to get a response ! 83: from that process. ! 84: The fourth field is a set of flags: ! 85: 0001 means to write the output pipe ! 86: if you get a broadcast message, ! 87: 0002 means that the process is physically adjacent ! 88: on the read pipe, ! 89: and 0004 means that the process is adjacent ! 90: on the write pipe. ! 91: The fifth and subsequent fields are the module numbers ! 92: that are defined by this process. ! 93: .s3 ! 94: The status bits for the ! 95: .bd P ! 96: line are as follows: ! 97: .nf ! 98: .s3 ! 99: 000010 close diagnostic output ! 100: 000004 close standard input ! 101: 000002 run in user's directory, not database ! 102: 000001 run as the user, not as \*(II ! 103: .s3 ! 104: .fi ! 105: .s3 ! 106: The lowest numbered process ! 107: becomes the parent ! 108: of all the other processes. ! 109: .s1 ! 110: .bd WARNING: ! 111: Giving a user permission to specify his or her own process table ! 112: will allow them to bypass all protection provided by \*(II. ! 113: This facility should be provided for system debugging only! ! 114: .sh "EXAMPLE" ! 115: The following example ! 116: will execute a three process system. ! 117: .s3 ! 118: .nf ! 119: .in +4 ! 120: DB:$P/bin ! 121: DS:$P/source ! 122: **** Process 0 -- terminal monitor ! 123: P0:$B/monitor:MONITOR:h:0003:M ! 124: L0:0:0:0 ! 125: R1:0:a:h:0007:1 ! 126: * Process 1 -- parser ! 127: P1:$B/parser:PARSER:a:0014:P ! 128: L3:1:0:0 ! 129: R0:0:h:a:0006:0 ! 130: R2:0:b:g:0007:5:6:7 ! 131: * Process 2 -- data base utilities ! 132: P2:$B/alldbu:DBU:b:0014:Z ! 133: L5:0:6:0 ! 134: L6:0:0:0 ! 135: L7:0:1:0 ! 136: R0:0:g:b:0000 ! 137: R1:0:g:b:0006 ! 138: .fi ! 139: .in -4
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.