evmwatch - Monitors EVM events
evmwatch [-A] [-f filter_expr] [-h hostname[:port_no]]...
[-t show_template] [-w timeout] [-i | -x]
-A Automatically starts evmshow to produce a formatted display of the
Subscribes for notification of events matching filter_expr. See
EvmFilter(5) for the syntax of filter_expr. By default, the evmwatch
command subscribes for all events.
Attempts to connect to the EVM daemon on the host hostname, rather than
to the local daemon. If a cluster alias is specified for hostname,
attempts to connect to the EVM daemon on that cluster. If specified,
the port number must be the same as the portnum specified in the EVM
daemon configuration file, evmdaemon.conf(4). In most cases, the
default should be used.
If connecting to a cluster alias, evmwatch monitors events that are
posted on all members of the cluster.
If :port_no is specified, port_no is used for TCP communication with
remote clients; otherwise, the evm port number found in /etc/services
is used. If no entry is found in /etc/services, the reserved default
value of 619 is used.
Template string to be passed to evmshow if the -A option is also speci-
fied. If the -A option is not specified, this argument is ignored. See
evmshow(1) for a description of the template string.
Terminates if no event is processed in timeout seconds. The timer is
restarted each time an event is received.
-i Retrieves copies of all of the registered event templates from the EVM
daemon that match the supplied filter string and for which the user has
access authorization. It writes the templates to stdout as EVM events
-x Terminates with a zero exit value as soon as the first event matching
filter_expr is processed.
The evmwatch command subscribes to the events specified by the filter_expr
and passes all events to its stdout stream as they arrive. Output is in the
form of raw EVM events.
If the -A option is specified, evmwatch automatically starts evmshow and
pipes the event stream into it, producing a formatted display of events. If
a show_template argument is supplied, the specified template string is
passed to evmshow through its own -t option. See evmshow(1) for more infor-
The evmwatch command rejects attempts to output raw events to a terminal
The evmwatch command receives events only for which the user has access
authorization. See evm.auth(4) for details of access authorization.
The following exit values are returned:
0 Successful completion
An error occurred, including timeout
1. The following ksh example watches for all events with a priority of at
least 200 and displays them on stdout. Events are piped automatically
through evmshow to produce a formatted event display.
export EVM_SHOW_TEMPLATE="@timestamp [@priority] @@"
evmwatch -A -f "[pri >>= 200]"
2. The following example waits until some other process posts a particu-
lar event and then continues. Redirection of output to /dev/null
implies that the content of the event is of no concern.
evmwatch -f "[name myco.ops.backup.done]" -x >>/dev/null
3. The following script builds on the prior example. It waits for five
minutes (300 seconds) for the event to occur or exits as soon as the
evmwatch -f "[name myco.ops.backup.*]" -x -w 300 >>/dev/null
if [ $? -eq 0 ]
echo Backup completed!
echo Backup timed out!
4. The following shell script waits for up to five minutes (300 seconds)
for a pulse event to be received. Each time the pulse arrives, the
timer is reset and evmwatch waits for the next pulse. If the timer
expires, evmwatch terminates with an error code, a warning is
displayed, a high priority event is posted, and the script exits.
evmwatch -f "[name myco.myapp.remote.pulse]" -w 300 >>/dev/null
if [ $? -ne 0 ] then
echo `date` Pulse monitor: No pulse from remote system
5. The following example lists the names of all registered events that
the user is authorized to access.
evmwatch -i | evmshow -t "@name" | more
Definition of the sockets and protocols used for Internet services.
Commands: evmget(1), evmpost(1), evmshow(1), evmsort(1)
Files: evmfilterfile(4), services(4)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Event Filter: EvmFilter(5)