notifyutil(1) General Commands Manual notifyutil(1)

notifyutilnotification command line utility

notifyutil [-q] [-v] [-z msec] [-M] [-R] [command ...]

notifyutil is a command-line utility for interacting with the notify(3) notification system and the notifyd(8) server. It may be used to post notifications, detect and report notifications, and to examine and set the state values associated with notification keys.

If notifyutil is used to monitor one or more notification keys, it prints the notification key when the corresponding notification is received. The -v (verbose) and -q (quiet) flags, if specified, modify the output behavior.

The -v flag causes notifyutil to print a time stamp, the notification key, the current state value for that key, and the type of the notification (port, file, etc). The -q flag supresses any output except for state values fetched following a -g command.

Commands listed in the table below are processed in left to right order from the command line.

key
Post a notification for key.
key
Register for key and wait forever for notifications.
-# key
Register for key and wait for # (an integer) notifications.
-1 key waits for a single notification.
key
Get state value for key.
key val
Set state value for key.
Use mach port notifications for subsequent -w or -# registrations.
This is the default registration type.
Use file descriptor notifications for subsequent registrations.
Use shared memory notifications for subsequent registrations.
[#]
Use signal notifications for subsequent registrations.
Signal 1 (HUP) is the default, but an alternate signal may be specified.
Use dispatch for subsequent registrations.

When invoked with any combination of -w and -# actions, notifyutil registers for notification for the specified key(s). If any key is given with a -w action, notifyutil runs until interrupted with Control-C. If all registrations are invoked with -#, the program continues to run until the corresponding number of notifications for each key have been received.

By default, notifyutil uses mach port registration (using ()) for keys given with a -w or -# flag. The -file command causes notifyutil to use () for any subsequent -w or -# registrations. Similarly, -check causes notifyutil to use () for subsequent registrations, -signal switches to (), and -dispatch causes it to use () for subsequent registrations.

If any registrations are made following the use of the -check command, notifyutil will start a timer and check for shared memory notifications every 100 milliseconds. An alternate timer value may be set following the -z flag.

The -M flag causes notifyutil to use multiplex all notifications over a single mach connection with notifyd. Notifications (except shared memory notifications) are received and redistributed by a dispatch handler.

The -R flag causes notifyutil to regenerate all its registrations in the unlikely event that notifyd restarts.

Note that a notification key and its associated state variable only exist when there are one or more current registrations for that key. Setting the state for a key that has no registrations has no effect. Thus the command

notifyutil -s foo.bar 123 -g foo.bar

will print

foo.bar 0

unless foo.bar is registered by some other process. However, the command

notifyutil -w foo.bar -s foo.bar 123 -g foo.bar

prints

foo.bar 123

since the “-w foo.bar” registration ensures the key and its state variable exist before the value is set, and continue to exist when the value is fetched.

notify(3), notifyd(8)

November 4, 2011 Mac OS X