Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
linux:overall:services [2023/07/14 04:08] admin |
linux:overall:services [2023/12/16 06:44] (текущий) admin |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
**Список активных служб** | **Список активных служб** | ||
- | <code bash># list-init-files --type=service --state=enable</ | ||
- | |||
- | либо | ||
- | <code bash># systemctl list-units</ | ||
- | |||
- | **Enable/ | ||
- | |||
<code bash> | <code bash> | ||
+ | systemctl -a | ||
+ | systemctl -a | grep " | ||
systemctl list-units | systemctl list-units | ||
+ | list-init-files --type=service --state=enable | ||
+ | |||
+ | systemctl list-unit-files " | ||
</ | </ | ||
+ | |||
+ | **Enable/ | ||
< | < | ||
- | < | + | < |
- | Пример файла | + | [[https:// |
<code bash> | <code bash> | ||
[Unit] | [Unit] | ||
Строка 40: | Строка 40: | ||
<code bash> | <code bash> | ||
[Unit] | [Unit] | ||
- | Description=my super service | + | |
- | After=tank.mount | + | After=tank.mount |
- | After=mnt-storage.mount | + | After=network-online.target |
- | After=network-online.target | + | |
[Service] | [Service] | ||
- | ExecStart=java -jar -Dserver.port=8081 /../myfile.jar | + | |
- | WorkingDirectory=< | + | -Dcom.sun.management.jmxremote.port=10045 \ |
- | Restart=always | + | |
- | RestartTimeout=15 | + | |
- | TimeoutSec=15 | + | |
- | User=< | + | -jar FProfilesAutoAcceleration.jar \ |
+ | -Xmx7G | ||
+ | | ||
+ | Restart=always | ||
+ | TimeoutSec=15 | ||
+ | User=fprofilesac | ||
+ | |||
+ | [Install] | ||
+ | Alias=fac.service | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | SystemD поддерживает функционал инстансов, | ||
+ | |||
+ | Суть в том что в юнит файле используем директиву " | ||
+ | Далее, работаем с ним " | ||
+ | Все что после собаки будет передаваться в юнит файл вместо директивы " | ||
+ | |||
+ | Для сервиса спокойно можно создать два юнит-файла, | ||
+ | |||
+ | Интересно что итогового юнит файла у зареганной службы нигде нет, есть только этот с собакой " | ||
+ | При обращении к службе, | ||
+ | Странно что после удаления пакета остается в зареганной службе, | ||
+ | |||
+ | Пример мульти конфига\\ | ||
+ | <code bash> | ||
+ | [Unit] | ||
+ | Description=" | ||
+ | Requires=network-online.target consul.service | ||
+ | Wants=openvpn-server.service zfs.target | ||
+ | After=network-online.target openvpn-server.service zfs.target consul.service | ||
+ | |||
+ | [Service] | ||
+ | ExecStartPre=rm -f / | ||
+ | WorkingDirectory=/ | ||
+ | Environment=PYTHONUNBUFFERED=1 | ||
+ | Type=exec | ||
+ | ExecStart=/ | ||
+ | ExecStartPost=/ | ||
+ | ExecStartPost=kill -0 $MAINPID | ||
+ | TimeoutStartSec=60 | ||
+ | # | ||
+ | # | ||
+ | StandardOutput=file:/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||