RWHOD(8C)
NAME
rwhod − system status server
SYNOPSIS
/etc/rwhod [ −t ]
DESCRIPTION
Rwhod is the server which maintains the database used by the rwho(1C) and ruptime(1C) programs. Its operation is predicated on the ability to broadcast messages on a network.
Rwhod both produces and consumes system status information. It periodically queries the state of the system and constructs status messages which are broadcast on a network, and it listens for other rwhod servers’ status messages as well. When it receives a status message from another server, rwhod validates it and records it in a file located in the directory /usr/spool/rwho.
The rwho server transmits and receives messages at the port indicated in the “rwho” service specification. The messages sent and received, are of the form:
structoutmp {
charout_line[8]; /* tty name */
charout_name[8]; /* user id */
longout_time; /* time on */
};
structwhod {
charwd_vers;
charwd_type;
charwd_fill[2];
intwd_sendtime;
intwd_recvtime;
charwd_hostname[32];
intwd_loadav[3];
intwd_boottime;
structwhoent {
structoutmp we_utmp;
intwe_idle;
} wd_we[1024 / sizeof (struct whoent)];
};
All fields are converted to network byte order before transmission. The load averages represent averages over the 5, 10, and 15 minute intervals prior to a server’s transmission. The host name included is that returned by the gethostname(2) system call. The array at the end of the message contains information about the users logged in to the sending machine. This information includes an entry for each non-idle terminal line and a value indicating the time since a character was last received on the terminal line.
Messages received by the rwho server are discarded unless they originated at a rwho server’s port. In addition, if the host’s name, as specified in the message, contains any unprintable ASCII characters, the message is discarded. Valid messages received by rwhod are placed in files named whod.hostname in the directory /usr/spool/rwho. These files contain only the most recent message, in the format described above.
Status messages are generated approximately once every 3 minutes. Rwhod performs an nlist(3) on /vmunix every 30 minutes to guard against the possibility that this file is not the system image currently operating.
OPTIONS
−t Transmit only. Allows hosts to run rwhod without attempting to receive broadcast packets or accessing files in /usr/spool/rwho. This feature allows multiple nodes sharing the same /usr/spool/rwho directory to run rwhod without attempting to write to the same /usr/spool/rwho directory and causing resource contention. In this case, the master node can run rwhod normally and update the common directory.
NOTES TO DOMAIN/IX USERS
To reduce contention for the rwho directory and provide updated information to hosts, we recommend that you Configure hosts to run rwhod with the −t option and link them to a master /usr/spool/rwho directory. Locate one master /usr/spool/rwho directory on each network or, in a DOMAIN internet, create one master /usr/spool/rwho directory for the entire internet. Run rwhod without the −t option on each host containing a master /usr/spool/rwho directory, so that the master node receives broadcasts and updates the directory.
In internets with one master /usr/spool/rwho directory per network, each /usr/spool/rwho directory will contain files for hosts on the local network only. If the master /usr/spool/rwho directory is located on a gateway, the directory will contain files for hosts on each network to which the gateway is directly connected. Thus, if several Apollo Token Ring networks are connected with TCP/IP gateways through an ETHERNET network, hosts on the rings linked to the gateway’s /usr/spool/rwho directory receive network status information about hosts on the ETHERNET.
In a DOMAIN internet, DOMAIN routing service allows you to link all hosts to a single /usr/spool/rwho directory. The master would contain rwho information for all hosts in the internet. However, a single master might not be as available as multiple masters containing information for only a subset of the entire internet.
Hosts running rwhod −t broadcast information that is received by non-Apollo hosts that run BSD4.3 compatible rwhod.
Rwhod, like other DOMAIN/IX daemons, is invoked at boot time by the run_rc command. To run rwhod on your node, uncomment the appropriate lines in the /etc/rc file.
For a node to accept incoming rwho commands, it must be correctly configured to run DOMAIN/IX BSD4.2 TCP/IP. See the Release Document for DOMAIN/IX BSD4.2 TCP/IP Version 3.1, and Configuring and Managing TCP/IP for information on configuring TCP/IP.
NOTES
People often interpret the server’s dying as a machine in the network going down.