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-I
has installed in/opt/sensr/SENSR.sh
andSENSR-I WEB FE
in/opt/web_fe/start.sh
.
- Assuming
- Set up project by launching
SENSR-I
in GUI mode - Create system service files (change
User=root
part and other values accordingly):- To auto-start
SENSR-I
itself 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-I
should 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