У меня есть сценарий на встроенном устройстве, который вызывает экран для запуска, если пользователь входит в систему через сеанс 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
Однако при этом вызывающий скрипт остается активным до завершения сеанса экрана, даже если он отсоединен.
Я хочу, чтобы вызывающий сценарий завершился и завершился, пока сеанс экрана остается активным. Я пробовал демонизировать строки screen -x и добавить & в конец строк screen -x, ни одна из которых не работает должным образом.
Идеи?
Если вы не дадите сценарию завершиться и выйти, вы будете получать осиротевшие экземпляры каждый раз, когда вы входите на устройство заново, то есть каждый вход в систему генерирует экземпляр скрипта, который завершится только при полном выключении экрана.
Поскольку это встроенное устройство, nohup недоступен.
Попробуйте использовать nohup перед командой и &:
nohup command &