# IOC The following instructions explain the basics of starting and managing IOCs on the IOC host. - TODO: some iocs not associated to a service, where to put? - TODO: need to dev/prod template them too ## Host `sls-vserv-bd-01(-dev)` ## Shell Start up an IOC shell: ```shell iocsh AGEBD-CPCL-MASTER_main.subs ``` or: ```shell ioc shell AGEBD-CPCL-MASTER-DEV ``` then you can run commands to interact with EPICS. List available PVs: ```shell > dbl ``` Exit: ```shell Ctrl + d ``` ## Install For existing IOCs, a login to the IOC and a restart via `ctrl+x` is sufficient. On `sls-lc*` ```shell ioc install -V --ioc AGEBD-CPCL-PLAYGROUND --clean ioc shell AGEBD-CPCL-PLAYGROUND ctrl+x ``` For the initial install, additionally, the shellbox on the ioc host must be restarted. ```shell sudo shellbox reload # new ioc installed ``` Result: on ioc host, e.g. `sls-vserv-bd-01-dev` ```shell vim /etc/shellbox/ ``` ### Local Tests ```shell iocsh AGEBD-CPCL-PLAYGROUND_main.subs ``` using template file: ```shell iocsh PLAYGROUND.template DEVICE=TEST ``` ## "Delete" There is no way to really delete an IOC through the `ioc` cli. What you can do: `ssh sls-lc*` and delete the entry from `/ioc/hosts/sls-vserv-bd-01(-dev)/shellbox.conf` ## Restart an IOC via shellbox On BD host `sls-vserv-bd-01(-dev)` ```shell sudo shellbox reload # new ioc installed sudo shellbox status # status of all iocs on server sudo shellbox stop 50045 # stop ioc sudo shellbox start 50045 # start ioc sudo shellbox log 50045 -f # log file (tail) exit # exit ssh ```