Запустите 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 &