From University of Washington - Ubicomp Research Page
Jump to: navigation, search


proccontrol is a program which launches and monitors all of the other processes involved in the MSP data collection. proccontrol can be controlled via IPC to start and stop processes. Additionally, it can listen for heartbeat messages over IPC to detect hung processes, and publish a list of process states.


    Typical Usage

      proccontrol process.ini

      where process.ini will typically contain:

      msb-server  msb    1 0  /msp/msb-server -ini /msp/msb.ini
      #lsb-server lsb    1 0  /msp/lsb-server.loop
      #gps-server gps    1 0  /msp/gps-server /dev/ttyS2 38400 /msp/enableDGPS.bin
      logger      logger 1 0  /msp/logger -ini /msp/logger.ini
      #gps-debug  gps    1 0  /msp/gps-debug > /dev/null
      #cam-server camera 1 0  /msp/cam-server.loop

      The file name is optional. If left unspecified, it will default to process.ini.


      process.ini specifies which processes to run and monitor. Each line of process.ini specifies a process, except for comments, which begin with #. The format of each line is:
      <process name> <process group> <startup state> <heartbeat flag> <command line>

      If the startup state is 1, the process will be started as soon as proccontrol does. Otherwise, the proccontrol will wait to start it until instructed to via IPC. If the heartbeat flag is non-zero, proccontrol will listen for heartbeat IPC messages from the process, and restart the process if a heartbeat hasn't been sent for two seconds.