Set up auto-starting after booting
This can be useful to automatically restart SENSR-I for example in the case after a power outage.
To launch sensr at startup, follow this
- Prerequisites: Install
SENSR-I,SENSR-I Web FE.- Assuming
SENSR-Ihas installed in/opt/sensr/SENSR.shandSENSR-I WEB FEin/opt/web_fe/start.sh.
- Assuming
- Set up project by launching
SENSR-Iin GUI mode - Create system service files (change
User=rootpart and other values accordingly):- To auto-start
SENSR-Iitself as a non-GUI mode$ cat << EOF | sudo tee /etc/systemd/system/sensr.service
[Unit]
Description=SENSR I
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/opt/sensr
ExecStart=/opt/sensr/SENSR.sh -n
Restart=always
RestartSec=5
KillSignal=SIGKILL
User=root
[Install]
WantedBy=default.target
EOF - To auto-start
SENSR-I Web FE$ cat << EOF | sudo tee /etc/systemd/system/sensr-web.service
[Unit]
Description=SENSR I
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/opt/web
ExecStart=/opt/web_fe/start.sh 192.168.50.25 5000
Restart=always
User=root
[Install]
WantedBy=default.target
EOF
- To auto-start
- Register and enable as a service
- Enable as a system service
$ sudo systemctl enable sensr.service
$ sudo systemctl enable sensr-web.service - Start service
$ sudo systemctl start sensr.service
$ sudo systemctl start sensr-web.service - Check status
$ systemctl status sensr.service
$ systemctl status sensr-web.service
- Enable as a system service
- At this point,
SENSR-Ishould be running after reboot, or forced termination- Open a new shell, monitor sensr process by running
$ journalctl -u sensr.service -f - Terminate argos_master_i to mimic failure
$ sudo pkill argos_master_i - Monitor logs with previous journalctl command
- Open a new shell, monitor sensr process by running