The QNX Persistent Publish/Subscribe (PPS) service is a small, extensible publish/subscribe service that offers persistence across reboots. It is designed to provide a simple and easy to use solution for both publish/subscribe and persistence in embedded systems, answering a need for building loosely connected systems using asynchronous publications and notifications.
With PPS, publishing is asynchronous: the subscriber need not be waiting for the publisher. In fact, the publisher and subscriber rarely know each other; their only connection is an object which has a meaning and purpose for both publisher and subscriber.

The QNX Smart Energy Reference uses PPS.
The PPS service can be run with the options listed below.
pps [options]
- -b
- Don't run in the background. Useful for debugging.
- -d backlog
- Specify the default delta backlog, in kilobytes.
The default is 256 bytes.
- -l argument
- (“el”) Set the object load behavior, as follows:
- 0 — load directory names and objects on demand. Default.
- 1 — load all directory and object names on startup, but do not load object contents. Load object contents on demand.
- 2 — load directories, objects, and object contents on startup.
- -m mount
- Specify the mountpath for PPS. The default is /pps/.
- -p path
- Set the path for backing up the persistent storage.
The default is /var/pps.
- -t period
- Specify the periodicity of the forced persistence, in milliseconds.
For example, -t 5000 forces the PPS service to write to persistent storage every five seconds.
The default is no forced persistence.
- -v
- Enable verbose mode. Increase the number of “v”s to increase verbosity.