В настоящее время я использую Debian со следующим cronjob для экрана при перезагрузке:

@reboot screen -dmS app1 /home/app1
@reboot screen -dmS app2 /home/app2

Проблема в том, что иногда приложение не запускается и сеанс экрана завершается. Есть ли способ для проверки экрана, работает ли этот сеанс, и если не запускать его снова, используя cron каждые 10 минут (или что-то в этом роде)?

1 ответ1

0

Я написал бы сценарий по этим направлениям:

#!/bin/bash
APP=$1
NAME=$2
screen -ls 2>&1 | grep ".$NAME" > /dev/null
if [ $? != 0 ]; then
    screen -dmS $NAME $APP
fi

Используется так: <script-name> app1 /home/app1

Он будет искать запущенный сеанс экрана с заданным именем (для исполняющего пользователя), и если он не найдет его, он создаст новый.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .