Чтобы создать службу systemd для Raspberry Pi, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
Метод 1: использование файла модуля Systemd
-
Создайте новый файл модуля systemd с помощью команды:
sudo nano /etc/systemd/system/my_service.service -
Добавьте в файл следующее содержимое:
[Unit] Description=My Service After=network.target [Service] ExecStart=/path/to/your/script.py WorkingDirectory=/path/to/your/script_directory Restart=always [Install] WantedBy=multi-user.target -
Сохраните файл и выйдите из текстового редактора.
-
Включить запуск службы при загрузке:
sudo systemctl enable my_service -
Запустите службу:
sudo systemctl start my_service
Метод 2: использование библиотеки Python Systemd
-
Установите библиотеку
systemd-python, если она еще не установлена:pip install systemd-python -
Создайте скрипт Python, например,
my_service.pyimport systemd.daemon # Your code goes here systemd.daemon.notify("READY=1") systemd.daemon.notify("STATUS=Processing requests...") -
Сохраните скрипт в нужном месте.
-
Создайте файл модуля systemd, как показано в методе 1, но измените строку
ExecStart, чтобы она указывала на скрипт Python:ExecStart=/usr/bin/python3 /path/to/your/my_service.py -
Включите и запустите службу, как описано в методе 1.
Метод 3: использование сценария Bash
-
Создайте сценарий Bash, например,
my_service.sh#!/bin/bash # Your code goes here -
Сохраните скрипт в нужном месте.
-
Создайте файл модуля systemd, как показано в методе 1, но измените строку
ExecStartдля выполнения сценария Bash:ExecStart=/bin/bash /path/to/your/my_service.sh -
Включите и запустите службу, как описано в методе 1.