Background

This document describes the procedure for restarting the DEIMOS daemons. The DEIMOS control GUI will show a warning message if a daemon critical for the observations dies.

The script testAll can also be used to determine if there is a daemon that needs restart.

Most daemons can be restarted independently of others in no particular order, but there are some exeptions.

The DEIMOS control GUI and the Ginga display GUI will reconnect automatically in most cases if any of the daemons needs to be restarted. Hence, there is no need to shut them down if a daemon needs to be restarted.

The deimos script

The deimos script can be used on any of the DEIMOS Linux computers as any of the DEIMOS numbered accounts to determine which daemon runs where. This is for instance the output from the deimos script when run on vm-deimos:

    [deimos10@deimos ~]$ deimos
    Use:
    deimos [opts]  [help|start|restart|stop|status|pid|config]  subsystem...

    where
    Subsystem     Description                                Invokes
    -----------     -----------                              ---------------

    obsapps         Daemons running under observer account   lickserv(^), write_ccd(^), write_fcs(^)
    deifcsconf      DEIMOS FCS configuration                 deifcsconf
    deifill         DEIMOS Autofill Monitor                  deifill
    deimoshistory   DEIMOS keyword history                   deimoshistory(*)
    deimosion1      DEIMOS ion pump                          deimosion1(^)
    deimosion2      DEIMOS ion pump                          deimosion2(^)
    deimosmon       monitoring service                       deimosmon
    deimosplus      DEIMOS helper dispatcher                 deimosplus
    deipower        DEIMOS power control                     deipower(^)
    deirotg         DEIMOS rotator Galil motion control      deirotg(%)
    deisoundboard   Remote observing soundboard              deisoundboard
    lickserv        deifcs image catcher                     lickserv(^)
    lickserv2       deiccd image catcher                     lickserv2(^)
    watch_ccd       deiccd variant of watch_ccd              watch_ccd(^)
    watch_fcs       deifcs variant of watch_ccd              watch_fcs(^)
    write_ccd       deiccd variant of write_image            write_ccd(^)
    write_fcs       deifcs variant of write_image            write_fcs(^)
    
    % = runs on: roto.keck.hawaii.edu
    ^ = runs on: polo.keck.hawaii.edu
    * = runs on: moolelo.keck.hawaii.edu
    
    Use option -h for options.

The command deimos status will show all the daemons running on the machine where it is invoked. For instance:

    [deimos10@roto ~]$ deimos status

    deirotg         : is running on roto.
    deirotg         :  PPID   PID  PGID   UID    VSZ   RSS %CPU     TIME COMMAND
    deirotg         :     1 29224 28413  2073 168268 100408 6.9 07:07:49 /usr/bin/tclsh8.5 /kroot/rel/default/bin/galildisp.tcl deirotg deirotg_dispatch_1

Note that the deimos script running on the Linux machines is different than the Solaris version of the deimos script running on keamano.

Dependencies

keamano daemons

The daemons running on keamano can be stopped, started, restarted and their status can be checked with the following command as kics:

deimos stop|start|restart|status daemons
with one exception: deimos stop daemons will not stop traffic.

There should be no need to stop traffic, but if this is ever needed, it can be done with deimos stop traffic.

If traffic goes down, all other daemons connected to it such as deimoshistory (running on moolelo), deimosmon or deimosplus (running on vm-deimos) will need to be restarted once traffic is up and runnning again.

polo daemons

The daemons running on polo can be stopped, started, restarted and their status can be checked with the following command as any DEIMOS numbered account:

deimos stop|start|restart|status daemon-name
where daemon-name is a placeholder for the name of the daemon.

The stop sequence for the daemons running on polo is:

    deimos stop obsapps
    deimos stop lickserv2 watch_ccd watch_fcs

The start sequence for the daemons running on polo is:

    deimos start lickserv2 watch_ccd watch_fcs
    deimos start obsapps

Every time we change numbered account to observe with DEIMOS, the obsapps daemons need to be stopped by the previous acount running them and restarted by the account to be used during the observations.

roto daemons

The only DEIMOS daemon running on this machine is deirotg. It can be stopped, started, restarted and its status can be checked with the following command as any DEIMOS numbered account:

deimos stop|start|restart|status deirotg

vm-deimos (aka. deimos) daemons

The daemons running on vm-deimos can be stopped, started, restarted and their status can be checked with the following command as any DEIMOS numbered account:

deimos stop|start|restart|status daemon-name
where daemon-name is a placeholder for the name of the daemon.

If deisoundboard is restarted, it will be necessary to restart the EventSounds GUI.

If deimosplus or deifcsconf are restarted, the DEIMOS control GUI will show a warning, while keywords from these two services are not availabe. The warning will go away once keywords are available again. There is no need to restart the DEIMOS control GUI.

moolelo daemons

The only DEIMOS daemon running on this machine is deimoshistory. It can be stopped, started, restarted and its status can be checked with the following command as kics:

deimos stop|start|restart|status deimoshistory

If deimoshistory is restarted, then deimosmon (running on vm-deimos) will also need to be restarted.

See Also

DEIMOS daemons