Запуск процессов в Screen-ах при запуске Linux Ubuntu

Задача:
При загрузке операционной системы автоматически создавать screen оболочки, внутри которых запускать некие скрипты или программы.

Решение:

Достаточно простое, примитивное, но работает и проблему полностью решает.

При запуске системы нам нужно запускать некий скрипт, в котором мы будем запускать screen-ы.

touch /etc/rc.local
chmod +x /etc/rc.local

внутри

#!/bin/sh -e
/usr/sbin/screens
exit 0

При запуске системы у нас будет запускаться /usr/sbin/screens
Внутри у нас будет следующий код:

#!/bin/sh

/usr/bin/screen -dmS relay sh /home/bear/mjpeg/mjpeg-relay/start.sh
/usr/bin/screen -dmS blynk sh /home/blynk/start.sh
/usr/bin/screen -dmS adguard /home/AdGuardHome/AdGuardHome

Где после /usr/bin/screen -dmS указывается имя screen и после указывается что запустить в этом screen-е.

Скриптам я делаю chmod +x, в скриптах обычно указываю полные пути к компиляторам, интерпретаторам и другим утилитам.

Итог:

Запускается система, через rc.local она дергает скрипт /usr/sbin/screens, который запускает что вам угодно … В нашем случае он создает 3 оболочки screen, внутри которых запускает нужные мне сервисы.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *