Automatic start by using systemd: Difference between revisions

From Aquarium-Control
Jump to navigation Jump to search
No edit summary
No edit summary
Line 27: Line 27:
The startup script creates a set of POSIX message queues and sets their access rights before starting the control application to run in the background.
The startup script creates a set of POSIX message queues and sets their access rights before starting the control application to run in the background.
<code>
<code>
#!/bin/bash
# Creating message queues for operation or test of aquarium_control
sudo touch /dev/mqueue/aquarium_control.5UXp
sudo touch /dev/mqueue/aquarium_control.5UXp



Revision as of 08:42, 30 December 2024

The content of systemd unit file /lib/systemd/system/aquarium-ctrl.service as following:

[Unit]

Description=Aquarium Control Application

After=multi-user.target


[Service]

Type=forking

ExecStart=bash /usr/local/bin/aquarium-ctrl-startup.sh

[Install]

WantedBy=multi-user.target


Upon creation/modification of the unit file, one must run the command sudo systemctl daemon-reload in order to activate the changes.

For starting the control application manually via systemd, one can use the command sudo systemctl start aquarium-ctrl.

The startup script creates a set of POSIX message queues and sets their access rights before starting the control application to run in the background. sudo touch /dev/mqueue/aquarium_control.5UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.5UXp

sudo touch /dev/mqueue/aquarium_control.4UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.4UXp

sudo touch /dev/mqueue/aquarium_control.6UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.6UXp

sudo touch /dev/mqueue/aquarium_control.7UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.7UXp

sudo touch /dev/mqueue/aquarium_control.8UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.8UXp

sudo touch /dev/mqueue/aquarium_control.9UXp

sudo chmod o+rwx /dev/mqueue/aquarium_control.9UXp

/usr/local/bin/aquarium_control > /dev/null&

Only one of the message queues is required for operating the control application. The other message queues are use for parallel SW unit testing.