sac(1M) sac(1M)
NAME
sac - service access controller
SYNOPSIS
/usr/lib/saf/sac -t sanity_interval
DESCRIPTION
The Service Access Controller (SAC) is the overseer of the
server machine. sac is started with a sanity_interval of 300
seconds from /etc/inittab when the server machine enters
multiuser mode. The SAC performs several important functions
as explained below.
Customizing the SAC environment
When sac is invoked, it first looks for the per-system
configuration script /etc/saf/_sysconfig. sac
interprets _sysconfig to customize its own
environment. The modifications made to the SAC
environment by _sysconfig are inherited by all the
children of the SAC. This inherited environment may
be modified by the children.
Starting port monitors
After it has interpreted the _sysconfig file, the sac
reads its administrative file /etc/saf/_sactab.
_sactab specifies which port monitors are to be
started. For each port monitor to be started, sac
forks a child [fork(2)] and creates a utmp entry with
the type field set to LOGIN_PROCESS. Each child then
interprets its per-port monitor configuration script
/etc/saf/pmtag/_config, if the file exists. These
modifications to the environment affect the port
monitor and will be inherited by all its children.
Finally, the child process execs the port monitor,
using the command found in the _sactab entry. (See
sacadm; this is the command given with the -c option
when the port monitor is added to the system.)
Polling port monitors to detect failure
The -t option sets the frequency (in seconds) with
which sac polls the port monitors on the system. This
time may also be thought of as half of the maximum
latency required to detect that a port monitor has
failed and that recovery action is necessary.
Copyright 1994 Novell, Inc. Page 1
sac(1M) sac(1M)
Administrative functions
The Service Access Controller represents the
administrative point of control for port monitors.
Its administrative tasks are explained below.
When queried (sacadm with either -l or -L), the Service Access
Controller returns the status of the port monitors specified,
which sacadm prints on the standard output. A port monitor
may be in one of six states:
ENABLED The port monitor is currently running and is
accepting connections. See sacadm(1M) with the -e
option.
DISABLED The port monitor is currently running and is not
accepting connections. See sacadm with the -d
option, and see NOTRUNNING, below.
STARTING The port monitor is in the process of starting up.
STARTING is an intermediate state on the way to
ENABLED or DISABLED.
FAILED The port monitor was unable to start and remain
running.
STOPPING The port monitor has been manually terminated but
has not completed its shutdown procedure. STOPPING
is an intermediate state on the way to NOTRUNNING.
NOTRUNNING
The port monitor is not currently running. (See
sacadm with -k.) This is the normal ``not running''
state. When a port monitor is killed, all ports it
was monitoring are inaccessible. It is not possible
for an external user to tell whether a port is not
being monitored or the system is down. If the port
monitor is not killed but is in the DISABLED state,
it may be possible (depending on the port monitor
being used) to write a message on the inaccessible
port telling the user who is trying to access the
port that it is disabled. This is the advantage of
having a DISABLED state as well as the NOTRUNNING
state.
Copyright 1994 Novell, Inc. Page 2
sac(1M) sac(1M)
When a port monitor terminates, the SAC frees the utmp entry
for that port monitor.
The SAC receives all requests to enable, disable, start, or
stop port monitors and takes the appropriate action.
The SAC is responsible for restarting port monitors that
terminate. Whether or not the SAC will restart a given port
monitor depends on two things:
the restart count specified for the port monitor when
the port monitor was added. See sacadm(1M).
the number of times the port monitor has already been
restarted
FILES
/etc/saf/_sactab
/etc/saf/_sysconfig
/etc/inittab
/var/adm/utmp
/var/saf/_log
REFERENCES
inittab(4), pmadm(1M), sacadm(1M)
Copyright 1994 Novell, Inc. Page 3