|
|
1.1 root 1: .TH RWHOD 8C "4 March 1983"
2: .UC 4
3: .SH NAME
4: rwhod \- system status server
5: .SH SYNOPSIS
6: .B /etc/rwhod
7: .SH DESCRIPTION
8: .I Rwhod
9: is the server which maintains the database used by the
10: .IR rwho (1C)
11: and
12: .IR ruptime (1C)
13: programs. Its operation is predicated on the ability to
14: .I broadcast
15: messages on a network.
16: .PP
17: .I Rwhod
18: operates as both a producer and consumer of status information.
19: As a producer of information it periodically
20: queries the state of the system and constructs
21: status messages which are broadcast on a network.
22: As a consumer of information, it listens for other
23: .I rwhod
24: servers' status messages, validating them, then recording
25: them in a collection of files located in the directory
26: .IR /usr/spool/rwho .
27: .PP
28: The
29: .I rwho
30: server transmits and receives messages at the port indicated
31: in the ``rwho'' service specification, see
32: .IR services (5).
33: The messages sent and received, are of the form:
34: .PP
35: .nf
36: .ta 0.5i 1.0i 1.5i
37: struct outmp {
38: char out_line[8]; /* tty name */
39: char out_name[8]; /* user id */
40: long out_time; /* time on */
41: };
42: .sp
43: struct whod {
44: char wd_vers;
45: char wd_type;
46: char wd_fill[2];
47: int wd_sendtime;
48: int wd_recvtime;
49: char wd_hostname[32];
50: int wd_loadav[3];
51: int wd_boottime;
52: struct whoent {
53: struct outmp we_utmp;
54: int we_idle;
55: } wd_we[1024 / sizeof (struct whoent)];
56: };
57: .fi
58: .PP
59: All fields are converted to network byte order prior to
60: transmission. The load averages are as calculated by the
61: .IR w (1)
62: program, and represent load averages over the 5, 10, and 15 minute
63: intervals prior to a server's transmission. The host name
64: included is that returned by the
65: .IR gethostname (2)
66: system call.
67: The array at the end of the message contains information about
68: the users logged in to the sending machine. This information
69: includes the contents of the
70: .IR utmp (5)
71: entry for each non-idle terminal line and a value indicating the
72: time since a character was last received on the terminal line.
73: .PP
74: Messages received by the
75: .I rwho
76: server are discarded unless they originated at a
77: .I rwho
78: server's port. In addition, if the host's name, as specified
79: in the message, contains any unprintable ASCII characters, the
80: message is discarded. Valid messages received by
81: .I rwhod
82: are placed in files named
83: .IR whod . hostname
84: in the directory
85: .IR /usr/spool/rwho .
86: These files contain only the most recent message, in the
87: format described above.
88: .PP
89: Status messages are generated approximately once every
90: 60 seconds.
91: .I Rwhod
92: performs an
93: .IR nlist (3)
94: on /vmunix every 10 minutes to guard against
95: the possibility that this file is not the system
96: image currently operating.
97: .SH "SEE ALSO"
98: rwho(1C),
99: ruptime(1C)
100: .SH BUGS
101: Should relay status information between networks.
102: People often interpret the server dieing
103: as a machine going down.
104: .PP
105: Only communicate with hosts over networks supporting broadcasting or over
106: point-to-point links.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.