System Launch and Monitor (SLM)

You can use the System Launch and Monitor (SLM) service to modify the launch sequence of applications and services without rebuilding the target image.

The SLM service starts processes required for the HMI (e.g., io-pkt), then the HMI itself. It automates process management by running early in the boot sequence and launching complex applications consisting of many processes that must start in a specific order.

SLM uses XML configuration files to determine the appropriate order for starting processes. These files list all the processes for SLM to manage, any dependencies between the processes, the commands for launching the processes, and other properties. The files are located in these subdirectories:

$QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/

The files are:

slm-config-all.xml
Configures services common to all hardware platforms. Located in: etc/.
slm-config-modules.xml
An example of how to add new modules. Located in: etc/. This file is included in slm-config-all.xml.
slm-config-platform.xml
Platform-specific servics, such as board-specific drivers. Located in: boards/platform.variant/etc/

For more information, see the System Launch and Monitor (SLM) entry in the System Services Reference.

Example SLM configuration

Below is a section taken from the current contents of the SLM configuration file slm-config-all.xml; this section defines support for the PPS service:

<!-- pps starts in the IFS, this just blocks until /pps is available -->
<SLM:component name="pps">
    <SLM:command launch="builtin">no_op</SLM:command>
    <SLM:args></SLM:args>
    <SLM:waitfor wait="pathname">/pps</SLM:waitfor>
    <SLM:stop stop="signal">SIGTERM</SLM:stop>
</SLM:component>