Systemd умеет не только постоянно держать сервисы запущенными, но и активировать их по событию через socket activation.Вместо постоянного запуска процесса создаётся
socket:[Socket]
ListenStream=8080
[Install]
WantedBy=sockets.target
Теперь
systemd слушает порт самостоятельно и запускает сервис только когда приходит первый запрос.После завершения работы сервис может быть остановлен, а ресурсы освобождены.
Проверить такие сокеты можно командой:
$ systemctl list-sockets
Так работает множество системных компонентов Linux, включая некоторые службы systemd и Docker:
$ systemctl status docker.socket
Процесс не обязан постоянно работать в фоне. Его можно запускать только тогда, когда реально появился клиент.
🔥
Socket activation позволяет экономить память, ускорять запуск сервисов и строить более эффективные фоновые службы без собственного демона, который постоянно ждёт подключения.🚪 Linux Ready | #совет
