Blame

37d68e Mayekkuzu 2024-12-15 20:05:26 1
# Systemd
2
f1cd73 Mayekkuzu 2024-12-15 20:06:05 3
![](/Linux/System/Systemd/systemd.jpg)
37d68e Mayekkuzu 2024-12-15 20:05:26 4
5
Systemd - Система управления службами и служба инициализации.
6
7
## Пример запуска службы
8
Создадим фаил /etc/systemd/system/my-app.service
9
```
10
[Unit]
11
Description=My APP Service
12
After=multi-user.target
13
14
[Service]
15
Type=simple
16
# Указываем рабочую папку
17
WorkingDirectory=/home/user/my_app_folder
18
# Запускаем приложение
19
ExecStart=myapp --debug
20
# От пользователя user
21
User=user
22
23
# Always restart
24
Restart=always
25
26
[Install]
27
# system wide service
28
WantedBy=multi-user.target
29
```
30
Далее рестартим systemd чтобы перечитались все unit файлы, и запускаем службу. Последней командой смотрим статус службы
31
```
32
sudo systemctl daemon-reload
33
sudo systemctl start my-app
34
sudo systemctl status my-app
35
```
36
Для автозапуска пишем
37
```
38
sudo systemctl enable my-app
39
```
40
## Пример запуска службы на примере java приложения
41
Создадим фаил /etc/systemd/system/java-app.service
42
```
43
[Unit]
44
Description=Manage Java service
45
46
[Service]
47
WorkingDirectory=/home/user/my-java-app-folder
48
ExecStart=/bin/java -jar java-app.jar
49
User=user
50
Type=simple
51
Restart=on-failure
52
RestartSec=10
53
54
[Install]
55
WantedBy=multi-user.target
56
```
57
Дальше по аналогии как и с предыдущим пунктом