По сути, у меня есть сеанс удаленного экрана, к которому я хочу автоматически подключиться .. В настоящее время я делаю это с помощью следующей команды (в виде закладки iTerm или псевдонима)
ssh host -t screen -x thesessionname
Это работает нормально, но если сеанс умирает по какой-либо причине, я бы хотел, чтобы он был воссоздан при следующем подключении. -R
Флаг screen
является почти идеальным:
ssh host -t screen -R -S thesessionname
... но если сеанс уже подключен, то выполняется второй сеанс (при -R
простом поиске первого отдельного сеанса, если ни один не найден, создается новый)
Есть ли способ заставить -R
флаг искать также прикрепленные сеансы и создавать новый, только если thesessionname
он не существует?
Если это не легко выполнимо, как я могу автоматически воссоздать сеанс экрана, когда он умирает? Возможно, скрипт запускается через cron, который ищет именованный сеанс, создавая его, если он не существует?
источник
screen -x -R -S main
это то , что я в конечном итоге использовал (работает так же, без принудительного отсоединения), спасибо!sceen -r <yoursession>
, выдаст ошибку, когда он уже подключен (вместо создания нового сеанса).Несколько хороших вариантов. Во-первых, мой любимый:
Он будет прикреплен к первой доступной сеансе экрана (общий доступ, если подключено другое соединение), а если сеансов экрана вообще не будет, начните новую.
Документы для этого гласят: «Снова подключите сеанс и при необходимости отсоедините или создайте его. Используйте первый сеанс, если доступно более одного сеанса». По сути, double-R заставляет его искать первую сессию для присоединения.
«Присоединяйся здесь и сейчас. Что бы это ни значило, просто сделай это». Отключит и удаленно выйдет из любого другого присоединенного сеанса и присоединится к первому сеансу, который может. По сути, делает все, что нужно, чтобы присоединиться к существующему сеансу, и создает новый, если там ничего нет.
Самая первая (-x -R) реже всего вызывает проблемы (не будет разъединять ваше другое соединение), но просто всегда присоединяется к чему-либо, если есть что-то, к которому нужно присоединиться, и создает что-то, если нет ничего, чтобы присоединиться.
источник
я использую
Я не хочу, чтобы весь мой логин на другой оболочке сбрасывался, как это
-D
делает, и я определенно не хочу режим множественного присоединения-x
.источник