Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
RWHOD(8)		FreeBSD	System Manager's Manual		      RWHOD(8)

     rwhod -- system status server

     rwhod [-i]	[-p] [-l] [-m [ttl]]

     The rwhod utility is the server which maintains the database used by the
     rwho(1) and ruptime(1) programs.  Its operation is	predicated on the
     ability to	broadcast or multicast messages	on a network.

     The rwhod utility operates	as both	a producer and consumer	of status
     information, unless the -l	(listen	mode) option is	specified, in which
     case it acts as a consumer	only.  As a producer of	information it period-
     ically queries the	state of the system and	constructs status messages
     which are broadcasted or multicasted on a network.	 As a consumer of
     information, it listens for other rwhod servers' status messages, vali-
     dating them, then recording them in a collection of files located in the
     directory /var/rwho.

     The following options are available:

     -i	     Enable insecure mode, which causes	rwhod to ignore	the source
	     port on incoming packets.

     -p	     Ignore all	POINTOPOINT interfaces.	 This is useful	if you do not
	     wish to keep dial on demand interfaces permanently	active.

     -l	     Enable listen mode, which causes rwhod to not broadcast any
	     information.  This	allows you to monitor other machines' rwhod
	     information, without broadcasting your own.

     -m	[ttl]
	     Cause rwhod to use	IP multicast (instead of broadcast) on all
	     interfaces	that have the IFF_MULTICAST flag set in	their "ifnet"
	     structs (excluding	the loopback interface).  The multicast
	     reports are sent with a time-to-live of 1,	to prevent forwarding
	     beyond the	directly-connected subnet(s).

	     If	the optional ttl argument is supplied with the -m flag,	rwhod
	     will send IP multicast datagrams with a time-to-live of ttl, via
	     a SINGLE interface	rather than all	interfaces.  ttl must be
	     between 0 and 32 (or MAX_MULTICAST_SCOPE).	 Note that -m 1	is
	     different from -m,	in that	-m 1 specifies transmission on one
	     interface only.

	     When -m is	used without a ttl argument, the program accepts mul-
	     ticast rwhod reports from all multicast-capable interfaces.  If a
	     ttl argument is given, it accepts multicast reports from only one
	     interface,	the one	on which reports are sent (which may be	con-
	     trolled via the host's routing table).  Regardless	of the -m
	     option, the program accepts broadcast or unicast reports from all
	     interfaces.  Thus,	this program will hear the reports of old,
	     non-multicasting rwhods, but, if multicasting is used, those old
	     rwhods will not hear the reports generated	by this	program.

     The server	transmits and receives messages	at the port indicated in the
     ``who'' service specification; see	services(5).  The messages sent	and
     received, are of the form:

	   struct  outmp {
		   char	   out_line[8];		   /* tty name */
		   char	   out_name[8];		   /* user id */
		   long	   out_time;		   /* time on */

	   struct  whod	{
		   char	   wd_vers;
		   char	   wd_type;
		   char	   wd_fill[2];
		   int	   wd_sendtime;
		   int	   wd_recvtime;
		   char	   wd_hostname[32];
		   int	   wd_loadav[3];
		   int	   wd_boottime;
		   struct  whoent {
			   struct  outmp we_utmp;
			   int	   we_idle;
		   } wd_we[1024	/ sizeof (struct whoent)];

     All fields	are converted to network byte order prior to transmission.
     The load averages are as calculated by the	w(1) program, and represent
     load averages over	the 5, 10, and 15 minute intervals prior to a server's
     transmission; they	are multiplied by 100 for representation in an inte-
     ger.  The host name included is that returned by the gethostname(3) sys-
     tem call, with any	trailing domain	name omitted.  The array at the	end of
     the message contains information about the	users logged in	to the sending
     machine.  This information	includes the contents of the entry from	the
     user accounting database for each non-idle	terminal line and a value
     indicating	the time in seconds since a character was last received	on the
     terminal line.

     Messages received by the rwho server are discarded	unless they originated
     at	an rwho	server's port or the -i	option was specified.  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 /var/rwho.
     These files contain only the most recent message, in the format described

     Status messages are generated approximately once every 3 minutes.	The
     rwhod utility performs an nlist(3)	on /boot/kernel/kernel every 30	min-
     utes to guard against the possibility that	this file is not the system
     image currently operating.

     ruptime(1), rwho(1)

     The rwhod utility appeared	in 4.2BSD.

     Status information	should be sent only upon request rather	than continu-
     ously.  People often interpret the	server dying or	network	communication
     failures as a machine going down.

FreeBSD	11.0		       December	11, 1993		  FreeBSD 11.0


Want to link to this manual page? Use this URL:

home | help