This information is likely unclear, but can be the basis for future conversations.
procmgr commands
Use these in /reg/g/pcds/dist/pds/tmo/scripts directory where the *.cnf files live.
- procmgr status <cnf-file>
- procmgr start <cnf-file>
- procmgr stop <cnf-file>
- procmgr restart <cnf-file> (does both a stop and a start)
- procmgr stopall <cnf-file>
Main CNF File
The file <hutchname>.cnf (e.g. tmo.cnf) contains a list of all possible detectors that can be included in the data acquisition. This is a python script, although we try to keep them simple (e.g. no imports, subroutines).
Supplemental "Long-Lived" HSD and XPM CNF Files
In addition to the hutch .cnf file described above, there are additional "long lived" cnf files: neh-base.cnf. neh-base.cnf manages processes controlling the timing system boards ("XPM", eXperiment Partition Master) while hsd.cnf controls processes that are used to manage high-speed-digitizers, for hutches that have those.
Processes in tmo.cnf are short-lived, meaning that the "procmgr stop/start" commands function as you would expect. But the processes in neh-base.cnf and hsd.cnf are long-lived: "stop" doesn’t stop them (but "stopall" does). Long-lived is indicated in the .cnf file by having a hard-coded "port" number on the line that defines the process.
For long-lived processes you have to do a little more to stop/start them, in particular:
procmgr stop <cnf-file> <uniqueID> (uniqueID is the second column from procmgr status)
procmgr start <cnf-file> <uniqueID>
Sometimes it is necessary to restart an hsdioc process (e.g. if the hsd goes into "test pattern" mode). To do this:
- look in tmo.cnf to see which hsdioc manages this hsd channel. For example this line {host:'drp-neh-cmp018', id:'hsd_5', flags:'spu', env:epics_env, cmd:drp_cmd0+f' -D hsd -k hsd_epics_prefix={hsd_epics}_3D:B'} implies that hsd_5 is managed by the hsdioc labelled "3D" (each hsdioc manages 2 hsd channels, and "A" and a "B" channel)
- look for host/post number to telnet to by doing "procmgr status hsd.cnf | grep hsdioc"
- look for a line like: "daq-tmo-hsd-01 hsdioc_3d RUNNING 3835 29088 hsd134PVs -E -P DAQ:TMO:HSD:1_3D -d /dev/pcie_adc_3d"
- do "telnet daq-tmo-hsd-01 29088"
- hit ^X to kill the hsdioc process
- hit ^X again to restart it
- may have to configure (or even restart hsdioc) again. (we should make the system tolerate hsdioc-restarts better in the future).
(ps-4.3.2) tmo-daq:daq> procmgr status hsd.cnf
/cds/home/opr/tmoopr/git/lcls2_060521/install/bin/procmgr: using config file 'hsd.cnf'
Not running.
Host UniqueID Status PID PORT Command+Args
daq-tmo-hsd-01 hsdioc_1a RUNNING 67678 29086 hsd134PVs -P DAQ:TMO:HSD:1_1A -d /dev/pcie_adc_1a
daq-tmo-hsd-01 hsdioc_1b RUNNING 67677 29085 hsd134PVs -P DAQ:TMO:HSD:1_1B -d /dev/pcie_adc_1b
daq-tmo-hsd-01 hsdioc_3d RUNNING 67711 29088 hsd134PVs -P DAQ:TMO:HSD:1_3D -d /dev/pcie_adc_3d
daq-tmo-hsd-01 hsdioc_3e RUNNING 67695 29087 hsd134PVs -P DAQ:TMO:HSD:1_3E -d /dev/pcie_adc_3e
daq-tmo-hsd-01 hsdioc_5e RUNNING 67727 29089 hsd134PVs -P DAQ:TMO:HSD:1_5E -d /dev/pcie_adc_5e
daq-tmo-hsd-01 hsdioc_b2 RUNNING 67759 29091 hsd134PVs -P DAQ:TMO:HSD:1_B2 -d /dev/pcie_adc_b2
daq-tmo-hsd-01 hsdioc_da RUNNING 74783 29090 hsd134PVs -P DAQ:TMO:HSD:1_DA -d /dev/pcie_adc_da
drp-neh-ctl002 hsdpvs_1a_a RUNNING 194646 29073 hsdpvs -P DAQ:TMO:HSD:1_1A:A
drp-neh-ctl002 hsdpvs_1a_b RUNNING 194648 29074 hsdpvs -P DAQ:TMO:HSD:1_1A:B
drp-neh-ctl002 hsdpvs_1b_a RUNNING 194645 29071 hsdpvs -P DAQ:TMO:HSD:1_1B:A
drp-neh-ctl002 hsdpvs_1b_b RUNNING 194647 29072 hsdpvs -P DAQ:TMO:HSD:1_1B:B
drp-neh-ctl002 hsdpvs_3d_a RUNNING 194649 29077 hsdpvs -P DAQ:TMO:HSD:1_3D:A
drp-neh-ctl002 hsdpvs_3d_b RUNNING 194652 29078 hsdpvs -P DAQ:TMO:HSD:1_3D:B
drp-neh-ctl002 hsdpvs_3e_a RUNNING 194650 29075 hsdpvs -P DAQ:TMO:HSD:1_3E:A
drp-neh-ctl002 hsdpvs_3e_b RUNNING 194651 29076 hsdpvs -P DAQ:TMO:HSD:1_3E:B
drp-neh-ctl002 hsdpvs_5e_a RUNNING 194653 29079 hsdpvs -P DAQ:TMO:HSD:1_5E:A
drp-neh-ctl002 hsdpvs_5e_b RUNNING 194654 29080 hsdpvs -P DAQ:TMO:HSD:1_5E:B
drp-neh-ctl002 hsdpvs_b2_a RUNNING 194689 29083 hsdpvs -P DAQ:TMO:HSD:1_B2:A
drp-neh-ctl002 hsdpvs_b2_b RUNNING 194811 29084 hsdpvs -P DAQ:TMO:HSD:1_B2:B
drp-neh-ctl002 hsdpvs_da_a RUNNING 194655 29081 hsdpvs -P DAQ:TMO:HSD:1_DA:A
drp-neh-ctl002 hsdpvs_da_b RUNNING 194673 29082 hsdpvs -P DAQ:TMO:HSD:1_DA:B
(ps-4.3.2) tmo-daq:daq>
(ps-4.3.2) tmo-daq:daq> procmgr stop hsd.cnf hsdioc_3d hsdioc_5e
/cds/home/opr/tmoopr/git/lcls2_060521/install/bin/procmgr: using config file 'hsd.cnf' to stop
(ps-4.3.2) tmo-daq:daq>
(ps-4.3.2) tmo-daq:daq> procmgr status hsd.cnf
/cds/home/opr/tmoopr/git/lcls2_060521/install/bin/procmgr: using config file 'hsd.cnf'
Not running.
Host UniqueID Status PID PORT Command+Args
daq-tmo-hsd-01 hsdioc_1a RUNNING 67678 29086 hsd134PVs -P DAQ:TMO:HSD:1_1A -d /dev/pcie_adc_1a
daq-tmo-hsd-01 hsdioc_1b RUNNING 67677 29085 hsd134PVs -P DAQ:TMO:HSD:1_1B -d /dev/pcie_adc_1b
daq-tmo-hsd-01 hsdioc_3d NOCONNECT - 29088 hsd134PVs -P DAQ:TMO:HSD:1_3D -d /dev/pcie_adc_3d
daq-tmo-hsd-01 hsdioc_3e RUNNING 67695 29087 hsd134PVs -P DAQ:TMO:HSD:1_3E -d /dev/pcie_adc_3e
daq-tmo-hsd-01 hsdioc_5e NOCONNECT - 29089 hsd134PVs -P DAQ:TMO:HSD:1_5E -d /dev/pcie_adc_5e
daq-tmo-hsd-01 hsdioc_b2 RUNNING 67759 29091 hsd134PVs -P DAQ:TMO:HSD:1_B2 -d /dev/pcie_adc_b2
daq-tmo-hsd-01 hsdioc_da RUNNING 74783 29090 hsd134PVs -P DAQ:TMO:HSD:1_DA -d /dev/pcie_adc_da
drp-neh-ctl002 hsdpvs_1a_a RUNNING 194646 29073 hsdpvs -P DAQ:TMO:HSD:1_1A:A
drp-neh-ctl002 hsdpvs_1a_b RUNNING 194648 29074 hsdpvs -P DAQ:TMO:HSD:1_1A:B
drp-neh-ctl002 hsdpvs_1b_a RUNNING 194645 29071 hsdpvs -P DAQ:TMO:HSD:1_1B:A
drp-neh-ctl002 hsdpvs_1b_b RUNNING 194647 29072 hsdpvs -P DAQ:TMO:HSD:1_1B:B
drp-neh-ctl002 hsdpvs_3d_a RUNNING 194649 29077 hsdpvs -P DAQ:TMO:HSD:1_3D:A
drp-neh-ctl002 hsdpvs_3d_b RUNNING 194652 29078 hsdpvs -P DAQ:TMO:HSD:1_3D:B
drp-neh-ctl002 hsdpvs_3e_a RUNNING 194650 29075 hsdpvs -P DAQ:TMO:HSD:1_3E:A
drp-neh-ctl002 hsdpvs_3e_b RUNNING 194651 29076 hsdpvs -P DAQ:TMO:HSD:1_3E:B
drp-neh-ctl002 hsdpvs_5e_a RUNNING 194653 29079 hsdpvs -P DAQ:TMO:HSD:1_5E:A
drp-neh-ctl002 hsdpvs_5e_b RUNNING 194654 29080 hsdpvs -P DAQ:TMO:HSD:1_5E:B
drp-neh-ctl002 hsdpvs_b2_a RUNNING 194689 29083 hsdpvs -P DAQ:TMO:HSD:1_B2:A
drp-neh-ctl002 hsdpvs_b2_b RUNNING 194811 29084 hsdpvs -P DAQ:TMO:HSD:1_B2:B
drp-neh-ctl002 hsdpvs_da_a RUNNING 194655 29081 hsdpvs -P DAQ:TMO:HSD:1_DA:A
drp-neh-ctl002 hsdpvs_da_b RUNNING 194673 29082 hsdpvs -P DAQ:TMO:HSD:1_DA:B
(ps-4.3.2) tmo-daq:daq>
(ps-4.3.2) tmo-daq:daq> procmgr start hsd.cnf hsdioc_3d hsdioc_5e
/cds/home/opr/tmoopr/git/lcls2_060521/install/bin/procmgr: using config file 'hsd.cnf' to start
(ps-4.3.2) tmo-daq:daq>
(ps-4.3.2) tmo-daq:daq> procmgr status hsd.cnf
/cds/home/opr/tmoopr/git/lcls2_060521/install/bin/procmgr: using config file 'hsd.cnf'
Not running.
Host UniqueID Status PID PORT Command+Args
daq-tmo-hsd-01 hsdioc_1a RUNNING 67678 29086 hsd134PVs -P DAQ:TMO:HSD:1_1A -d /dev/pcie_adc_1a
daq-tmo-hsd-01 hsdioc_1b RUNNING 67677 29085 hsd134PVs -P DAQ:TMO:HSD:1_1B -d /dev/pcie_adc_1b
daq-tmo-hsd-01 hsdioc_3d RUNNING 64378 29088 hsd134PVs -P DAQ:TMO:HSD:1_3D -d /dev/pcie_adc_3d
daq-tmo-hsd-01 hsdioc_3e RUNNING 64377 29087 hsd134PVs -P DAQ:TMO:HSD:1_3E -d /dev/pcie_adc_3e
daq-tmo-hsd-01 hsdioc_5e RUNNING 65664 29089 hsd134PVs -P DAQ:TMO:HSD:1_5E -d /dev/pcie_adc_5e
daq-tmo-hsd-01 hsdioc_b2 RUNNING 67759 29091 hsd134PVs -P DAQ:TMO:HSD:1_B2 -d /dev/pcie_adc_b2
daq-tmo-hsd-01 hsdioc_da RUNNING 74783 29090 hsd134PVs -P DAQ:TMO:HSD:1_DA -d /dev/pcie_adc_da
drp-neh-ctl002 hsdpvs_1a_a RUNNING 194646 29073 hsdpvs -P DAQ:TMO:HSD:1_1A:A
drp-neh-ctl002 hsdpvs_1a_b RUNNING 194648 29074 hsdpvs -P DAQ:TMO:HSD:1_1A:B
drp-neh-ctl002 hsdpvs_1b_a RUNNING 194645 29071 hsdpvs -P DAQ:TMO:HSD:1_1B:A
drp-neh-ctl002 hsdpvs_1b_b RUNNING 194647 29072 hsdpvs -P DAQ:TMO:HSD:1_1B:B
drp-neh-ctl002 hsdpvs_3d_a RUNNING 194649 29077 hsdpvs -P DAQ:TMO:HSD:1_3D:A
drp-neh-ctl002 hsdpvs_3d_b RUNNING 194652 29078 hsdpvs -P DAQ:TMO:HSD:1_3D:B
drp-neh-ctl002 hsdpvs_3e_a RUNNING 194650 29075 hsdpvs -P DAQ:TMO:HSD:1_3E:A
drp-neh-ctl002 hsdpvs_3e_b RUNNING 194651 29076 hsdpvs -P DAQ:TMO:HSD:1_3E:B
drp-neh-ctl002 hsdpvs_5e_a RUNNING 194653 29079 hsdpvs -P DAQ:TMO:HSD:1_5E:A
drp-neh-ctl002 hsdpvs_5e_b RUNNING 194654 29080 hsdpvs -P DAQ:TMO:HSD:1_5E:B
drp-neh-ctl002 hsdpvs_b2_a RUNNING 194689 29083 hsdpvs -P DAQ:TMO:HSD:1_B2:A
drp-neh-ctl002 hsdpvs_b2_b RUNNING 194811 29084 hsdpvs -P DAQ:TMO:HSD:1_B2:B
drp-neh-ctl002 hsdpvs_da_a RUNNING 194655 29081 hsdpvs -P DAQ:TMO:HSD:1_DA:A
drp-neh-ctl002 hsdpvs_da_b RUNNING 194673 29082 hsdpvs -P DAQ:TMO:HSD:1_DA:B
(ps-4.3.2) tmo-daq:daq>