Systemd не буду переписувати те що вже скрізь написано. Коротко - сервіси запуску всього і вся в Лінукс, демони(daemon) висять в фоні та щось там виконують. Їх можна подивитися в top або htop як процеси. Управління цими процесами через команду systemctl:

systemctl enable назва.service - активує сервіс для подальшого автоматичного запуску разом з системою.
systemctl disable назва.service - деактивує автоматичний запуск.
systemctl start назва.service - запускає сервіс, але якщо не буде systemctl enable назва.service при перезапуску системи він не запуститься.
systemctl stop назва.service - зупиняє сервіс.
systemctl restart назва.service - перезапускає сервіс.
systemctl reload назва.service - перезапускає конфігурацію якщо є внесенні зміни в конфігураційному файлі для цього сервісу.
За допомогою команди systemctl --help дивимось додаткові опції які пропонує ця команда. Щоб подивитися всі ці сервіси(які працюють які не працюють, які активовані які ні) за допомогою команди
systemctl -a
systemctl list-unit-files
systemctl status -a.
Самі сервіси знаходять в /etc/systemd/system і в /usr/lib/systemd/system.
Щоб глянути їх конфігурацію через команду:
cat /etc/systemd/system/назва.service, або systemctl cat назва.service
Написати свій з прикладів які вже є в системі теж не важко, як приклад:
sudo nano /usr/lib/systemd/system/назва.service

[Unit]
Description= назва вашого сервісу

[Service]
WorkingDirectory=/home/ #Директорія в якій знаходится ваш скрипт може бути інша, це приклад
ExecStart=/usr/bin/python3 /home/script/ваш_скрипт.py #Тут теж директорія як приклад хто запускає ваш скрипт може бути `/usr/bin/bash`
Restart=always #Завжди перезапускати в разі чого(помилки наприклад)
RestartSec=10 #Через скільки секунд перезапускати
SyslogIdentifier=назва-вашого-скипту #Для системного журналу
User=user #Від кого запускати `root` або `ваш_логін_в_системі`

[Install]
WantedBy=multi-user.target

Додаткові опції в посиланні systemd.service

Додати комментар

Наступний запис Попередній запис