Unified Shell Reference¶
All the commands that are issued in the shell take a --help flag, you can also use tab completion. Note the examples use the topology:
drunc-unified-shell > status
your-choice-of-session-name status
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Name ┃ Info ┃ State ┃ Substate ┃ In error ┃ Included ┃ Endpoint ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ root-controller │ │ initial │ initial │ No │ Yes │ grpc://10.73.136.38:43493 │
│ df-controller │ │ initial │ initial │ No │ Yes │ grpc://10.73.136.38:34661 │
│ df-01 │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:50703 │
│ dfo-01 │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:36819 │
│ tp-stream-writer │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:58985 │
│ hsi-fake-controller │ │ initial │ initial │ No │ Yes │ grpc://10.73.136.38:36509 │
│ hsi-fake-01 │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:46847 │
│ hsi-fake-to-tc-app │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:44491 │
│ ru-controller │ │ initial │ initial │ No │ Yes │ grpc://10.73.136.38:38695 │
│ ru-01 │ conn apa1 │ initial │ idle │ No │ Yes │ rest://10.73.136.38:46305 │
│ trg-controller │ │ initial │ initial │ No │ Yes │ grpc://10.73.136.38:35241 │
│ mlt │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:53607 │
│ tc-maker-1 │ │ initial │ idle │ No │ Yes │ rest://10.73.136.38:40777 │
└────────────────────────┴───────────┴─────────┴──────────┴──────────┴──────────┴───────────────────────────┘
boot¶
Description¶
This command spawns the processes that are used by the DAQ. In most cases, it SSHes on the host where the process is supposed to run, and execute the daq_application or drunc-controller binary.
The boot command will check if there are processes running in the process manager with the same session name and ask for confirmation if it detects other process running under the same session name.
The boot command can take the following option:
--override-logs/--no-override-logs(optional), this flags adds a timestamp to the log files of the application, effectively making them non-overriding. Note this happens only in the case where thelog_pathis not set in your configuration'sSessionorApplicationobjects. If the configuration'slog_pathis not./in either of these, the run control will use that, and the log will not be overriding (in this case, this flag is ignored).
Example¶
boot --override-logs
Related commands¶
change-rate¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to change the trigger rate of the system, when it is running or ready, this command does not change the state of the system.
The change-rate command can take the following options:
-
--trigger-rate(mandatory), is a float to specify the trigger rate in Hz you want the system to be running at. -
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send change-rate to the whole of the DAQ:
change-rate --trigger-rate 0.01
change-rate to the whole trigger segment:
change-rate --trigger-rate 0.01 --target root-controller/trg-controller
change-rate to the MLT only:
change-rate --trigger-rate 0.01 --target root-controller/trg-controller/mlt
Related commands¶
conf¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to configure the system, when it is initialised, and thus to reach the configured state.
The conf command can take the following option:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send conf to the whole of the DAQ:
conf
conf to the whole trigger segment:
conf --target root-controller/trg-controller
conf to the MLT only:
conf --target root-controller/trg-controller/mlt
Related commands¶
connect¶
Description¶
This command is used to connect the shell to a controller.
The connect command takes the control address of the controller as argument
If you are already connected to a controller, you will be asked to confirm that you want to connect to another controller.
The connect command take the following options:
-f/--force, which can be used to skip the confirmation step in case you are already connected to another controller.
Example¶
connect grpc://np04-srv-019:56582
Related command¶
disable-triggers¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to disable the triggers of the system, when it is running, and thus to reach the ready state.
The disable-triggers command can take the following option:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send disable-triggers to the whole of the DAQ:
disable-triggers
disable-triggers to the whole trigger segment:
disable-triggers --target root-controller/trg-controller
disable-triggers to the MLT only:
disable-triggers --target root-controller/trg-controller/mlt
Related commands¶
disconnect¶
Description¶
This command is used to disconnect the shell to a controller.
The disconnect command takes the control address of the controller as argument
If you are connected to a controller, you will be asked to confirm that you want to disconnect.
The disconnect command take the following options:
-f/--force, which can be used to skip the confirmation step in case you are already connected to another controller.
Example¶
disconnect
Related command¶
drain-dataflow¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to drain the dataflow of the system, when it is ready, and thus to reach the dataflow-drained state.
The drain-dataflow command can take the following options, depending on your FSM configuration:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--elisa-post(optional), allows you to add a message on the ELisA logbook post that gets created when the run finishes. -
--file-logbook-post(optional), allows you to add a message on the file logbook post that gets create when the run finishes.
Examples¶
To send drain-dataflow to the whole of the DAQ:
drain-dataflow
drain-dataflow to the whole trigger segment:
drain-dataflow --target root-controller/trg-controller
drain-dataflow to the MLT only:
drain-dataflow --target root-controller/trg-controller/mlt
Related commands¶
enable-triggers¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to enable the trigger of the system, when it is ready, and thus to reach the running state.
The enable-triggers command can take the following options:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send enable-triggers to the whole of the DAQ:
enable-triggers
enable-triggers to the whole trigger segment:
enable-triggers --target root-controller/trg-controller
enable-triggers to the MLT only:
enable-triggers --target root-controller/trg-controller/mlt
Related commands¶
exclude¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
Allows you to exclude a segment or an application from the DAQ system. All commands to the excluded part of the system are then ignored, and the next time recompute-status is issued, excluded nodes states are ignored.
The exclude command can take the following options:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To exclude to the whole trigger segment:
exclude --target root-controller/trg-controller
exclude to the MLT only:
exclude --target root-controller/trg-controller/mlt
Related commands¶
expert-command¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
Send JSON to a DAQ application. Excluded nodes states are ignored.
The format of the JSON is:
{
"data": {
"modules": [
{
"data": {
"CHANGE THAT": "CHANGE THAT"
},
"match": "CHANGE THAT"
}
]
},
"entry_state": "CHANGE THAT",
"exit_state": "CHANGE THAT",
"id": "CHANGE THAT"
}
-
entry_stateandexit_stateneed to be set to the same state in the FSM, written in capital. -
idis the command name the application will respond to (register_commandin your module). -
data.modules[:].datais the data you are sending to the modules. -
data.modules[:].matchis the name of the module, if left blank (""), the command will be propagated to all the module that have registered the commandid.
expert-command command take the following mandatory argument:
command, which is either the path to a json file that will be sent to the application(s) or, an actual json string (wrapped in"). An example of the file can be found in here.
The expert-command command can take the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment if you specify it. By default, the target is the top segment for the whole session. -
-s/--string(optional), a flag to signify that you are sending raw json, rather than a json file.
Examples¶
To send an expert command to the whole readout segment application:
expert-command --target root-controller/ru-controller data/record.json
flush¶
Description¶
This command removes the dead processes from the ps list, after issuing flush, you will not be able to send restart to that process.
The flush command can take the following options:
-
--uuid, to select a process to flush based on its UUID. -
-u/--user, to select the processes to flush based on its user. -
-n/--name, to select a process to flush based on its "friendly name". -
-s/--session, to select the processes to flush based on a session name.
By default, flush will flush all the dead processes from all sessions, users and names.
All the processes metadata can be which can be found by issuing ps.
Examples¶
To flush all the dead processes:
flush
flush the MLT:
flush --name mlt
flush the whole session:
flush -s your-session-name
Related commands¶
include¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
Allows you to include a segment or an application (that was previously excluded) from the DAQ system.
The include command can take the following options:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To include to the whole trigger segment:
include --target root-controller/trg-controller
include to the MLT only:
include --target root-controller/trg-controller/mlt
Related commands¶
kill¶
Description¶
This command kills running processes.
The kill command must take at least one the following options:
-
--uuid, to select a process to flush based on its UUID. -
-u/--user, to select the processes to flush based on its user. -
-n/--name, to select a process to flush based on its "friendly name". -
-s/--session, to select the processes to flush based on a session name.
By default, kill does nothing, you need to supply one of the options.
All the processes metadata can be which can be found by issuing ps.
Examples¶
To kill the MLT:
kill --name mlt
Killed process
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━┓
┃ session ┃ friendly name ┃ user ┃ host ┃ uuid ┃ alive ┃ exit-code ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━┩
│ test-session │ mlt │ pplesnia │ localhost │ e1f45c8c-1505-46b9-bb4f-a05b138ea314 │ False │ 255 │
└──────────────┴───────────────┴──────────┴───────────┴──────────────────────────────────────┴───────┴───────────┘
kill the whole session:
kill -s your-session-name
Related commands¶
logs¶
Description¶
This command prints the log of a processes.
The logs command must take at least one the following options:
-
--uuid, to select a process to flush based on its UUID. -
-u/--user, to select the processes to flush based on its user. -
-n/--name, to select a process to flush based on its "friendly name". -
-s/--session, to select the processes to flush based on a session name. -
--how-far, how many lines to print, by default itlogsprint the last 100 lines of log. -
--grep, to select a particular string in the logs. Works with regex too.
By default, logs does nothing, you need to supply one or more of the options --uuid, -u/--user, -n/--name, -s/-session, and the logical AND of this options must correspond to exactly one process.
All the processes metadata can be which can be found by issuing ps.
Example¶
To get the logs of the root-controller:
logs -n root-controller --how-far 5
────────────────────────────────────────────────────────────────────────── a61ffe46-dfa2-4a90-b888-7901fa5755b2 logs ───────────────────────────────────────────────────────────────────────────
INFO "Controller": 'df-controller@localhost:5600' (type ChildNodeType.gRPC) controller.py:123
INFO "Controller": 'trg-controller@localhost:5700' (type ChildNodeType.gRPC) controller.py:123
INFO "Controller": 'hsi-controller@localhost:5800' (type ChildNodeType.gRPC) controller.py:123
INFO "Broadcast": ready broadcast_sender.py:65
root-controller was started on localhost:3333
───────────────────────────────────────────────────────────────────────────────────────────── End ──────────────────────────────────────────────────────────────────────────────────────────────
logs of the MLT:
logs --name mlt --grep ERROR
Related command¶
ps¶
Description¶
This command list running processes.
The ps command must take at least one the following options:
-
--uuid, to select a process to flush based on its UUID. -
-u/--user, to select the processes to flush based on its user. -
-n/--name, to select a process to flush based on its "friendly name". -
-s/--session, to select the processes to flush based on a session name. -
--long-format/-l, to get a long listing format. -
-w/--width, to fix the table width to a supplied length.
By default, ps list all the processes.
Examples¶
To check the state the MLT process:
ps --name mlt
ps -s your-session-name
ps
Processes running
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━┓
┃ session ┃ friendly name ┃ user ┃ host ┃ uuid ┃ alive ┃ exit-code ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━┩
│ test-session │ root-controller │ pplesnia │ localhost │ a61ffe46-dfa2-4a90-b888-7901fa5755b2 │ True │ 0 │
│ test-session │ local-connection-server │ pplesnia │ localhost │ 1285a63b-637b-4ac8-a30a-62cd419505bc │ True │ 0 │
│ test-session │ ru-controller │ pplesnia │ localhost │ d8541d0a-8c21-416f-870b-1dc0b0180857 │ True │ 0 │
│ test-session │ ru-01 │ pplesnia │ localhost │ 5f75d23f-ee0a-4fa5-adfa-151ae8336683 │ True │ 0 │
│ test-session │ df-controller │ pplesnia │ localhost │ 0710d816-6a21-4501-b9ab-afb4bba08c23 │ True │ 0 │
│ test-session │ tp-stream-writer │ pplesnia │ localhost │ ad84b119-595c-4489-9207-8f4929a5d53a │ True │ 0 │
│ test-session │ dfo-01 │ pplesnia │ localhost │ fb45ef4d-a19e-433d-9b0b-35457c8666e1 │ True │ 0 │
│ test-session │ df-01 │ pplesnia │ localhost │ 82615d14-dca5-4180-8f40-3f17180a9d87 │ True │ 0 │
│ test-session │ df-02 │ pplesnia │ localhost │ eefc8fce-2b4d-4de1-9d20-1c209902f98e │ True │ 0 │
│ test-session │ trg-controller │ pplesnia │ localhost │ fbb8eacb-62e6-44eb-bb1c-4585cfbcd033 │ True │ 0 │
│ test-session │ tc-maker-1 │ pplesnia │ localhost │ 9539be3d-6b51-4129-a474-12e3c268d2df │ True │ 0 │
│ test-session │ mlt │ pplesnia │ localhost │ e1f45c8c-1505-46b9-bb4f-a05b138ea314 │ True │ 0 │
│ test-session │ hsi-to-tc-app │ pplesnia │ localhost │ ec82eee5-fed9-4906-992c-8721d3be6f7f │ True │ 0 │
│ test-session │ hsi-controller │ pplesnia │ localhost │ f1765e99-80bf-4a39-91f5-a56bc36962db │ True │ 0 │
│ test-session │ hsi-01 │ pplesnia │ localhost │ cef1b4ff-6fff-4efc-a66a-08a9dce28c24 │ True │ 0 │
└──────────────┴───────────────────────────┴──────────┴───────────┴──────────────────────────────────────┴───────┴───────────┘
Related commands¶
recompute-status¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
Figure out the status the status of the controller, from the state of its included children.
The recompute-status command takes the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--execute-along-path/--dont-execute-along-path(optional), the command gets executed along the path of the target, starting with the top controller, etc. By default, execute along path is true. -
--execute-on-all-subsequent-children-in-path/--dont-execute-on-all-subsequent-children-in-path(optional), the command gets executed on all the children (applications and controllers) that are controlled by target (similar to-r/--recursiveforrmorgrep). By default, execute on all subsequent children in path.
By default, the recompute-status recomputes the status of all the system.
Example¶
To recompute the status of the whole system:
recompute-status
recompute-status --target root-controller/trg-controller
recompute-status --target root-controller/trg-controller --dont-execute-along-path
Related commands¶
restart¶
Description¶
NOTE: This command isn't typically used right now, most likely this will not work as intended.
Restart a process that was booted.
The restart command must take at least one the following options:
-
--uuid, to select a process to flush based on its UUID. -
-u/--user, to select the processes to flush based on its user. -
-n/--name, to select a process to flush based on its "friendly name". -
-s/--session, to select the processes to flush based on a session name.
By default, restart does nothing, you need to supply one or more of the options --uuid, -u/--user, -n/--name, -s/-session, and the logical AND of this options must correspond to exactly one process.
Example¶
To restart the MLT process:
restart --name mlt
Related commands¶
scrap¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to "unconfigure" the system, when it is configured, and thus to reach the initial state.
The scrap command can take the following option:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send scrap to the whole of the DAQ:
scrap
scrap to the whole trigger segment:
scrap --target root-controller/trg-controller
scrap to the MLT only:
scrap --target root-controller/trg-controller/mlt
Related commands¶
start¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to "start" the run on system, when it is configured, and thus to reach the ready state.
The start command can take the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--elisa-post(optional), allows you to add a message on the ELisA logbook post that gets created when the run ends. By default, nothing is added on the post. -
--file-logbook-post(optional), allows you to add a message on the file logbook post that gets create when the run ends. By default, nothing is added on the post. -
--run-type(optional), either PROD or TEST, depending on how you think the data will be used. By default, TEST is used. -
--trigger-rate(optional), the trigger rate you want to set. By default it's 0 Hz, but the system will use the trigger rate from the configuration. -
--disable-data-storage(optional), wether to disable the writing of the data and have a "dry run" of the DAQ. By default, write data. -
--run-number(required, in some cases), which run number to use.
Examples¶
To send start:
start --run-number 1
start and add a message to the ELisa logbook, and run in PROD mode:
start --elisa-post "A run with the TDE and PDS" --run-type PROD
Related commands¶
status¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
Prints the status the status of the controller.
The status command takes the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--execute-along-path/--dont-execute-along-path(optional), the command gets executed along the path of the target, starting with the top controller, etc. By default, execute along path is true. -
--execute-on-all-subsequent-children-in-path/--dont-execute-on-all-subsequent-children-in-path(optional), the command gets executed on all the children (applications and controllers) that are controlled by target (similar to-r/--recursiveforrmorgrep). By default, execute on all subsequent children in path.
By default, the status prints the status of all the system.
Example¶
To get the status of the whole system:
status
status --target root-controller/trg-controller
status --target root-controller/trg-controller --dont-execute-along-path
Related commands¶
stop¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to stop the system, when it is in the trigger-sources-stopped state, and thus to reach the configured state.
The stop command can take the following option:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send stop to the whole of the DAQ:
stop
stop to the whole trigger segment:
stop --target root-controller/trg-controller
stop to the MLT only:
stop --target root-controller/trg-controller/mlt
Related commands¶
stop-trigger-sources¶
Description¶
NOTE: This command depends on your FSM configuration. If you don't use the standard FSM from the DAQ, you may not have it!
NOTE: This command requires you to have booted the system and to be connected to a controller.
This command allows you to stop the trigger sources of the system, when it is in the dataflow-drained state, and thus to reach the trigger-sources-stopped state.
The stop-trigger-sources command can take the following option:
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session.
Examples¶
To send stop-trigger-sources to the whole of the DAQ:
stop-trigger-sources
stop-trigger-sources to the whole trigger segment:
stop-trigger-sources --target root-controller/trg-controller
stop-trigger-sources to the MLT only:
stop-trigger-sources --target root-controller/trg-controller/mlt
Related commands¶
surrender-control¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
NOTE: This command isn't typically used right now.
This commands allows you to give up the control of a controller and its children. Note the user must be in control to be able to send commands to the controller
The surrender-control command takes the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--execute-along-path/--dont-execute-along-path(optional), the command gets executed along the path of the target, starting with the top controller, etc. By default, execute along path is true. -
--execute-on-all-subsequent-children-in-path/--dont-execute-on-all-subsequent-children-in-path(optional), the command gets executed on all the children (applications and controllers) that are controlled by target (similar to-r/--recursiveforrmorgrep). By default, execute on all subsequent children in path.
By default, surrender-control surrenders the control on the whole system.
Example¶
To give up the control of the whole session:
surrender-control
surrender-control --target root-controller/trg-controller
Related commands¶
take-control¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
NOTE: This command isn't typically used right now.
This commands allows you to take the control of a controller and its children. Note the user must be in control to be able to send commands to the controller
The take-control command takes the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--execute-along-path/--dont-execute-along-path(optional), the command gets executed along the path of the target, starting with the top controller, etc. By default, execute along path is true. -
--execute-on-all-subsequent-children-in-path/--dont-execute-on-all-subsequent-children-in-path(optional), the command gets executed on all the children (applications and controllers) that are controlled by target (similar to-r/--recursiveforrmorgrep). By default, execute on all subsequent children in path.
By default, take-control surrenders the control on the whole system.
Example¶
To take control of the whole session:
take-control
take-control --target root-controller/trg-controller
Related commands¶
terminate¶
Description¶
This command kills all the running processes in your instance of the process manager.
The terminate takes no option.
Example¶
To terminate all the processes:
terminate
Terminated process
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━┓
┃ session ┃ friendly name ┃ user ┃ host ┃ uuid ┃ alive ┃ exit-code ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━┩
│ test-session │ root-controller │ pplesnia │ localhost │ a61ffe46-dfa2-4a90-b888-7901fa5755b2 │ False │ 255 │
│ test-session │ local-connection-server │ pplesnia │ localhost │ 1285a63b-637b-4ac8-a30a-62cd419505bc │ False │ 255 │
│ test-session │ ru-controller │ pplesnia │ localhost │ d8541d0a-8c21-416f-870b-1dc0b0180857 │ False │ 255 │
│ test-session │ ru-01 │ pplesnia │ localhost │ 5f75d23f-ee0a-4fa5-adfa-151ae8336683 │ False │ 255 │
│ test-session │ df-controller │ pplesnia │ localhost │ 0710d816-6a21-4501-b9ab-afb4bba08c23 │ False │ 255 │
│ test-session │ tp-stream-writer │ pplesnia │ localhost │ ad84b119-595c-4489-9207-8f4929a5d53a │ False │ 255 │
│ test-session │ dfo-01 │ pplesnia │ localhost │ fb45ef4d-a19e-433d-9b0b-35457c8666e1 │ False │ 255 │
│ test-session │ df-01 │ pplesnia │ localhost │ 82615d14-dca5-4180-8f40-3f17180a9d87 │ False │ 255 │
│ test-session │ df-02 │ pplesnia │ localhost │ eefc8fce-2b4d-4de1-9d20-1c209902f98e │ False │ 255 │
│ test-session │ trg-controller │ pplesnia │ localhost │ fbb8eacb-62e6-44eb-bb1c-4585cfbcd033 │ False │ 255 │
│ test-session │ tc-maker-1 │ pplesnia │ localhost │ 9539be3d-6b51-4129-a474-12e3c268d2df │ False │ 255 │
│ test-session │ hsi-controller │ pplesnia │ localhost │ f1765e99-80bf-4a39-91f5-a56bc36962db │ False │ 255 │
│ test-session │ hsi-01 │ pplesnia │ localhost │ cef1b4ff-6fff-4efc-a66a-08a9dce28c24 │ False │ 255 │
└──────────────┴───────────────────────────┴──────────┴───────────┴──────────────────────────────────────┴───────┴───────────┘
Related commands¶
wait¶
Description¶
This command make the run control wait.
The wait takes one argument, the number of second to wait
Example¶
To wait 10 seconds:
wait 10
who-is-in-charge¶
Description¶
NOTE: This command requires you to have booted the system and to be connected to a controller.
NOTE: This command isn't typically used right now.
NOTE: This command does not render correctly right now who is in charge for the children.
This commands displays who is has the control of a controller and its children. Note the user must be in control to be able to send commands to the controller
The who-is-in-charge command takes the following options:
-
--target(optional), allows you to specify a target application/segment for the command. The command will only be run on that application or segment and children if you specify it. By default, the target is the top segment for the whole session. -
--execute-along-path/--dont-execute-along-path(optional), the command gets executed along the path of the target, starting with the top controller, etc. By default, execute along path is true. -
--execute-on-all-subsequent-children-in-path/--dont-execute-on-all-subsequent-children-in-path(optional), the command gets executed on all the children (applications and controllers) that are controlled by target (similar to-r/--recursiveforrmorgrep). By default, execute on all subsequent children in path.
By default, who-is-in-charge surrenders the control on the whole system.
Example¶
To see who is in charge of the whole session:
who-is-in-charge
who-is-in-charge --target root-controller/trg-controller
Related commands¶
whoami### Description¶
NOTE: This command isn't typically used right now.
This command prints your name.
Example¶
To print your name: ```bash whoami
jcvandamme
Last git commit to the markdown source of this page:
Author: Emir Muhammad
Date: Wed Mar 25 17:15:31 2026 +0100
If you see a problem with the documentation on this page, please file an Issue at https://github.com/DUNE-DAQ/drunc/issues