Commit 37d68e

2024-12-15 20:05:26 Mayekkuzu: Initial Commit
/dev/null .. linux/system/systemd.md
@@ 0,0 1,57 @@
+ # Systemd
+
+
+
+ Systemd - Система управления службами и служба инициализации.
+
+ ## Пример запуска службы
+ Создадим фаил /etc/systemd/system/my-app.service
+ ```
+ [Unit]
+ Description=My APP Service
+ After=multi-user.target
+
+ [Service]
+ Type=simple
+ # Указываем рабочую папку
+ WorkingDirectory=/home/user/my_app_folder
+ # Запускаем приложение
+ ExecStart=myapp --debug
+ # От пользователя user
+ User=user
+
+ # Always restart
+ Restart=always
+
+ [Install]
+ # system wide service
+ WantedBy=multi-user.target
+ ```
+ Далее рестартим systemd чтобы перечитались все unit файлы, и запускаем службу. Последней командой смотрим статус службы
+ ```
+ sudo systemctl daemon-reload
+ sudo systemctl start my-app
+ sudo systemctl status my-app
+ ```
+ Для автозапуска пишем
+ ```
+ sudo systemctl enable my-app
+ ```
+ ## Пример запуска службы на примере java приложения
+ Создадим фаил /etc/systemd/system/java-app.service
+ ```
+ [Unit]
+ Description=Manage Java service
+
+ [Service]
+ WorkingDirectory=/home/user/my-java-app-folder
+ ExecStart=/bin/java -jar java-app.jar
+ User=user
+ Type=simple
+ Restart=on-failure
+ RestartSec=10
+
+ [Install]
+ WantedBy=multi-user.target
+ ```
+ Дальше по аналогии как и с предыдущим пунктом
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9