#pragma section-numbers 2 = Always Running Scripts = <> == On Optimus through docker == On the computer optimus mounted at 1X4, following scripts run inside docker containers perpetually: || ''''' Name ''''' || '''''Location''''' || ''''' Arguments ''''' || ''''' Description ''''' || ''''' Docker container name ''''' || || [[https://git.ligo.org/40m/scripts/-/blob/main/MC/autolockMC.py| autolockMC.py]] || {{{ /opt/rtcds/caltech/c1/Git/40m/scripts/MC/ }}} || [[https://git.ligo.org/40m/scripts/-/blob/main/MC/ALConfigMC.yml|ALConfigMC.yml]]|| Keeps IMC locked. || scripts_AL_MC_1 || || [[https://git.ligo.org/40m/scripts/-/blob/main/PSL/PMC/autolockPMC.py| autolockPMC.py]] || {{{ /opt/rtcds/caltech/c1/Git/40m/scripts/PSL/PMC/ }}} || [[https://git.ligo.org/40m/scripts/-/blob/main/PSL/PMC/ALConfigPMC.yml|ALConfigPMC.yml]]|| Keeps PMC locked. || scripts_AL_PMC_1 ||scripts_PID_FSS_Slow_1 || On the computer megatron mounted at 1X4, following scripts are running as systemd services: || ''''' Name ''''' || '''''Location''''' || ''''' Arguments ''''' || ''''' Description ''''' || ''''' Service name ''''' || || [[https://git.ligo.org/40m/scripts/-/blob/main/PSL/FSS/PIDLocker.py| PIDLocker.py]] || {{{ /opt/rtcds/caltech/c1/Git/40m/scripts/PSL/FSS/ }}} || [[https://git.ligo.org/40m/scripts/-/blob/main/PSL/FSS/PIDConfigFSS.yml|PIDConfigFSS.yml]]|| Adjusts Main laser temperature to keep PZT actuation around 0. || FSSSlow.service || === Configuration === See [[https://git.ligo.org/40m/scripts/-/blob/main/docker-compose.yml| docker-compose.yml]] for how the scripts are configured to run on optimus. === Start all scripts === * To start all docker script containers, need to first start sot channel docker containers first. ssh to optimus: {{{ > cd /opt/rtcds/caltech/c1/Git/40m/softchansmodbus > sudo docker-compose up -d }}} Then start all docker script containers using: {{{ > cd /opt/rtcds/caltech/c1/Git/40m/scripts > sudo docker-compose up -d }}} === Stop all scripts === To stop all the scripts on docker, cd to this directory and do: {{{ > cd /opt/rtcds/caltech/c1/Git/40m/scripts > sudo docker-compose down }}} === Checking status of scripts === Running services container names and statuses can be checked by: {{{ > sudo docker ps }}} To check the logs of a particular script (whatever they priont out to stdout) {{{ sudo docker logs }}} Example for IMC autolocker: {{{ sudo docker logs scripts_AL_MC_1 }}} Add {{{ | tail -10}}} to see the last 10 lines in the logs. === Restart a particular script === If you made a change to a script or its configuration files, to get changes loaded, simply restart the container by: {{{ sudo docker restart }}} Example for IMC autolocker: {{{ sudo docker restart scripts_AL_MC_1 }}} === Stop a particular script === To stop a container (should be done if debugging the code on another computer): {{{ sudo docker stop }}} Example for IMC autolocker: {{{ sudo docker stop scripts_AL_MC_1 }}} === Start a particular script === To start the container from stoped state: {{{ sudo docker start }}} Example for IMC autolocker: {{{ sudo docker start scripts_AL_MC_1 }}} === Check IP address of running containers === To check the IP addresses of running containers: {{{ > sudo docker inspect -f '|| {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} || {{.Name}} ||' $(sudo docker ps -aq) }}} == Reverting back to systemd on megatron == The setup on megatron is intact. All service files exist in same place and old scripts can be started in the old manner by doing following on megatron: === MC autolocker === Enable the service first and then restart it. {{{ sudo systemctl enable MCautolocker sudo systemctl restart MCautolocker }}} === Disabling the services === For diabling these services to use optimus docker setup, do: {{{ sudo systemctl stop MCautolocker sudo systemctl disable MCautolocker }}} Note that one should stop docker containers on optimus before starting these systemd services to avoid conflicting scripts running together.