Start Script

Start Script Details

A template Start script is provided in the custom app template tarball. The Start script is responsible for starting and stopping the application.

  • Required to exist at the top level of the application tarball
  • It must accept the following command line arguments:¬†start, stop, restart, and reload.
  • The provided template shows how to use start-stop-daemon to start and stop your app, but this script can be fully customized to use whatever start/stop mechanism you wish.
  • Apps will be¬†automatically started after install and on boot and stopped on shutdown.
  • This script is always run as root

The below process flows show exactly when and how the Start script is executed.

Install Process

  1. app-manager launched to install a custom app either from a DeviceHQ command or manually from the command line
  2. If a version of the app is already installed, app-manager executes the Start script with the stop argument
  3. app-manager installs the app via the Install script
  4. app-manager executes the Start script with the start argument
  5. The Conduit checks into DeviceHQ to report new Installed Apps information

Uninstall Process

  1. app-manager launched to uninstall a custom app
  2. app-manager executes the Start script with the stop argument
  3. app-manager uninstalls the app via the Install script.
  4. The Conduit checks into DeviceHQ to report new Installed Apps information

Boot Process

  1. Conduit starts boot process
  2. The /etc/init.d/customapp init script is executed with priority 95
  3. customapp queries app-manager for all installed apps
  4. For each app, customapp launches app-manager to start it
  5. app-manager executes the Start script with the start --initd arguments

Shutdown Process

  1. Conduit shutdown initiated
  2. The /etc/init.d/customapp init script is executed with priority 95
  3. customapp queries app-manager for all installed apps
  4. For each app, customapp launches app-manager to stop it
    app-manager executes the Start script with the stop --initd arguments

Config Install Process

  1. app-manager launched to install an app config from a scheduled DeviceHQ action
  2. app-manager downloads the new config file and places it in the config/ directory, overwriting any existing files.
  3. app-manager executes the Start script with the reload argument