Сессия экрана не отсоединялась, теперь не прикрепляется

Сессия экрана не отсоединялась, теперь не прикрепляется

Обычно я вхожу в свой Linux-бокс с моего ноутбука Windows с помощью PuTTY и запускаю там screen. Когда мои корпоративные хозяева решили обновить мой ноутбук до Windows 7, мои сеансы PuTTY зависли. Обычно я завершаю сеанс PuTTY, а затем либо заново подключаю сеанс screen (если он отсоединился), либо использую "-d -r", если сеанс screen не отсоединился, когда мой сеанс PuTTY завис.

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

screen -d -r 6313.sessionName

но команда просто зависла бы там.

Я обнаружил, что в каталоге /var/run/screen// были «файлы», соответствующие каждому из моих сеансов screen. Я заметил, что упрямый имел 700 разрешений на него, в то время как другие (которые были отсоединены) имели 600 разрешений.

Поэтому я изменил разрешения на этот файл на 600. Теперь на экране он отображается как "отсоединенный". Однако, когда я пытаюсь снова подключиться к нему, команда снова просто зависает.

С использованием

ps aux | grep 6313

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

Я в растерянности, как восстановить эту сессию. Есть предложения?

решение1

Когда я использую screenкоманду, я обычно открываю сокет следующим образом:

$ screen -S <SOCKET_NAME>

и когда я хочу прикрепить или прикрепить снова, я использую:

$ screen -x <SOCKET_NAME>

решение2

Чтобы отсоединить сеанс экрана, следует использовать Ctrl+ A+ D. Затем, чтобы повторно присоединить сеанс, следует использовать screen -r <pid>. Если вы хотите подключиться к сеансу экрана, который используется, следует использовать , screen -dr <pid>чтобы сначала отсоединить, а затем повторно присоединить сеанс экрана.

Связанный контент