1 02/27/85 process_id
 2 
 3 Syntax as a command:  process_id {identifiers} {-control_args}
 4 
 5 
 6 Syntax as an active function:  [process_id {identifiers}
 7    {-control_args}]
 8 
 9 
10 Function:  prints or returns a process id of a specified process, in
11 the form of a 12-digit octal number.
12 
13 
14 Arguments:
15 identifiers
16    can be User_ids, channel names, or APTE offsets.  The three types of
17    identifier are distinguished from one another by their format (see
18    "Notes" below).  Two of the types can be preceded by a control
19    argument to eliminate any ambiguity (see "Control Arguments").  If
20    no identifier is given, the process ID of the current process is
21    used.
22 
23 
24 Control arguments:
25 -absentee, -as
26    selects absentee users.
27 -all, -a
28    selects all three process types.  This is the default.
29 -channel CHN, -chn CHN
30    selects the user logged in over channel CHN.
31 -daemon, -dmn
32    selects daemon users.
33 -interactive, -ia
34    selects interactive users.
35 
36 
37 -multiple
38    allows more than one process to be selected.  Their process ids are
39    returned, separated by spaces.  This is the default if more than one
40    identifier is given.
41 -single
42    requires that the arguments select exactly one process.  This is the
43    default, unless more than one identifier is given.
44 -user User_id
45    selects this user.
46 
47 
48 Notes:  Unless the -multiple control argument is given, or more than
49 one identifier is given, it is an error if the arguments do not select
50 exactly one process.
51 
52 The type of an identifier not preceded by a control argument is
53 determined as follows:  if it contains only octal digits, it is an APTE
54 offset; if it contains any upper case letters, it is a User_id;
55 otherwise, it is a channel name.  Channel names and User_ids can be
56 starnames.  User_ids are of the form Person.Project.tag.  Any of the
57 three components can be omitted, along with any trailing periods.
58 Omitted components are treated as if they had been "*".  The presence
59 of a tag component restricts the search to the corresponding user table
60 for that user only.
61 
62 
63 A channel is a communications channel for an interactive process (e.g.,
64 a.h017), an absentee slot number for an absentee process (e.g., abs3),
65 or a message coordinator source name for a daemon process (e.g., bk,
66 prta).
67 
68 The APTE offset is given as a four- to six-digit octal number (see the
69 print_apt_entry command).
70 
71 The -absentee, -interactive, and -daemon control arguments can be given
72 in any combination.  The default, when User_id with a tag and none of
73 these arguments is given is to search all three user tables.
74 
75 
76 Access required:  Read access to the three user tables
77 (absentee_user_table, answer_table, and daemon_user_table) in >sc1 is
78 required, as well as access to the gate metering_ring_zero_peek_ (the
79 latter only if an APTE offset is given as an identifier).  None of the
80 above access is required when no identifier is given and the ID of the
81 current process is returned.