Shutdown (coreServices2)

Provide access through Persistent Publish/Subscribe (PPS) communication to a variety of services, including shutdown

Syntax:

coreServices2 [-C configuration file] [-d] [-l none | module [,module]*]
              [-M UID:GIG] [-r path] [-S UID:GIG] [-U UID:GIG] [-v]*

Runs on:

QNX Neutrino

Options:

-C filename
The filepath and filename of the configuration file.
-d
Run in foreground instead of as a daemon (default).
-l none | module [,module]*
If specified, use this list of dynamic modules instead of the dynamic modules listed in the configuration file.
-M
The username or the UID:GID,GID specifying the user and group IDs of the monitor process.
-r path
Specify the root path to the PPS service. The default is /pps/services/.
-S
The username or the UID:GID,GID specifying the user and group IDs of the spawner process.
-U
The username or the UID:GID,GID specifying the user and group IDs of the main server process.
-v
Set verbosity of output to sloginfo.

Description:

The coreServices2 utility provides a single point from which to ask the system to run a variety of services. It manages the operations involved in communicating with multiple services using PPS objects. This design means that the requesting component or application only needs to publish and subscribe to the relevant PPS objects.

The QNX SDK for Apps and Media uses coreServices2 to provide access from the HMI to the shutdown service.

coreServices2 objects:

The coreServices2 service maintains a separate object for each service to which it gives access. An object may be static (compiled into the coreServices2 binary) or dynamic (loaded through dlopen() at runtime).

Most basic services are static, but some services that are large (or that require large shared libraries) and are not needed by all implementations are made available as dynamic modules. The coreServices2 service doesn't use any dynamically loaded modules and maintains the following statically loaded object:

shutdown
Shut down and reboot the system (see shutdown in the Utilities Reference).

PPS objects:

The coreServices2 service publishes or subscribes to the following PPS object:

Configuration file:

A configuration file specifies the core services that can be used. The name and location of the file is specified by the -C option. In QNX Apps and Media targets, the configuration file is located at /etc/system/config/coreServices2.json.

The file has the following syntax:
{
"static_modules" : comma-separated string of static module names
"dynamic_modules" : comma-separated string of dynamic module names
"disable_procmon" : [true|false]
"disable_hwid" : [true|false]
}
For example, the configuration file on the reference image includes only the shutdown service, which is a static module:
{
"static_modules" : "shutdown",
"dynamic_modules" : "",
"disable_procmon" : true,
"disable_hwid" : true
}