The world of CFLT Daemons

The panoply of CFLT Daemons keeps various programs running that are important for the operation of the CFLT. We use the ZMP Daemon system for all of our Daemonic needs.

Press this button to see the status of the CFLT Daemon Children
On each node there is a single CFLT Daemon devoted to monitoring several child application processes. ZMP Daemon commands (zmp_daemon_client) are used to control the starting and stopping of the child processes. There are scripts and command files available to make starting and stopping the children easier for the user. (Also see the "AROX" and "ARMS" utilities for a user interface to the Daemons.) The "daemon" program on the cflt accounts on various platforms provides the most convenient way to start and stop daemon children.

Here are the various Daemons and the children they watch. Also included are the daemon child description file (extension .appl or .APPL) which gives the command script name and output log file name. This file can be found in the common daemon disk area indicated. For the nodes CFLT02, zaxp10, and ZWS016, there exists the flush command which will kill all daemon children on that machine as well as the daemon itself. * NB: On the cflt OS9, the ZMP Daemon and ZHP server are not currently fully debugged by the CDAQ group. Permanent installation pending as of 10-Oct-1997.


Hints on summoning and ridding Daemons

Never directly kill the Daemon-controlled processes via a system or shell commands, since the Daemon will simply restart them. Use the Daemon client commands to start and stop the application processes instead. The syntax of these commands looks like: The daemon program will send these commands for you. For the CFLT Daemons, possible Target values are CFLT, CFLT_1, CFLT_2, or CFLT_3. This specifies the ZMP Daemon running on a particular node. The possible Command values are "OPEN" (start application) or "CLOSE" (stop application) which act on the application processes specified by the Instance. The value of Instance depends on the Daemon; for example, the CFLT_3 Daemon can accept values "CFLT_CAL_SERVER" or "CFLTP_LOADER". Another useful Command value is "SYMBS" which will dump the state of all applications under the Daemon control (no Instance value should be specified in this case).

In general, the ZMP Daemon process(es) should only be started at node boot time and never killed. However, if additions or deletions to the applications are required, you may stop and restart the ZMP Daemons. However, be sure to never start two Daemons at the same time, or there will be hell to pay!

Hint: People often confuse the ZMP Daemon program and the Daemon Children application processes. The ZMP Daemon controls the child processes. The ZMP Daemon runs all the time; the Daemon Children are started and stopped only by the ZMP Daemon. Component experts start and stop controlled applications (Daemon Children) by sending commands to the ZMP Daemon using the ZMP communications software. After receiving a command, the ZMP Daemon handles the process control of the Daemon Child


Last updated 2000 09

T. Wildschek W. Badgett