Запустите Daemonised GNU Screen из сценария, чтобы разрешить вызов сценария до конца

У меня есть скрипт на встроенном устройстве, который вызывает экран, чтобы запустить, если пользователь входит в систему через сеанс SSH...

#!/bin/sh

SCREENRUNNING=`pgrep SCREEN`

if [ -z "$SCREENRUNNING" ]; then

    echo "Screen not running so let's start the Master session
    sleep 2
    screen -dmS Master
        sleep 2
        screen -x root/Master


else

    echo "Screen is already running let's connect to existing session"

    sleep 2
    screen -x root/Master

fi

Однако это сохраняет вызывающий скрипт активным до завершения сеанса экрана, даже если он отключен.

Я хочу завершить и завершить вызов вызывающего скрипта, пока сеанс экрана остается активным. Я попытался демонизировать строки экрана -x и добавить & в конец строки экрана -x, ни одна из которых не работает должным образом.

Идеи?

Если вы не дадите сценарию завершиться и завершиться, вы получите осиротевшие экземпляры каждый раз при повторном входе на устройство, то есть при каждом входе в систему создается экземпляр сценария, который будет выходить только после полного закрытия экрана.

Поскольку это встроенное устройство, nohup недоступен.

1 ответ

Попробуйте использовать nohup перед командой и &:

  nohup command &
Другие вопросы по тегам