http://www.linode.com/index.cfm был очень надежен для нескольких моих друзей. У них есть несколько местоположений, и можно масштабироваться довольно легко.
Я видел это, когда я отбрасываю соединение с активным экраном, затем снова соединяются. Ошибка № 27462 ("Повторно подключают остановы, когда исходная сессия проиграна") описывает проблему, поскольку я вижу его. То, что, кажется, происходит, - то, что экран пытается уведомить tty, который содержит его, что он собирается уехать, но так как tty подвешивается из-за выделенного соединения, он должен ожидать тайм-аута для случая (который имеет вверх пять минут в некоторых случаях).
Для фиксации его я делаю это:
ps -ef | grep screen | grep pty
ps -ef | grep bash | grep $PTY
kill -KILL $PID
Это заставляет экран завершать свое разъединение правильно и позволяет Вам обычно снова соединяться.
Посмотрите здесь для сценария в качестве примера, автоматизирующего это несколько.
Я не могу сказать, что у меня когда-либо была проблема с экраном, не возвращающимся, какой тип соединения я иду. Мой обычный метод:
ssh myname@foo
screen -S sessionName
(do my work... get disconnected...)
ssh myname@foo
screen -d (just to make sure anything wasn't left attached)
screen -r sessionName
Действительно ли возможно, что эта ошибка влияет на Вас?
http://savannah.gnu.org/bugs/?27462
Можно ли попытаться делать обходное решение, которое они рекомендуют и видящий, работает ли оно?
I had a similar issue with my screen sessions. I name them and have them setup as multi-user sessions. What I found was that it was listing my sessions but telling me I had none to reconnect to. Then I tried:
screen -x
It worked like a champ!
Соулрс: https://kb.iu.edu/data/ahrm.html
To see your existing screen sessions, enter:
screen -list
This will display a list of your current screen sessions. For instance, if you had one attached screen, you would see:
1636.pts-21.hostname (Attached)
To detach an attached screen, enter:
screen -D
If you have more than one attached screen, you can specify a particular screen to detach. For example, to detach the screen in the above example, you would enter:
screen -D 1636.pts-21.hostname
Если вы такие же умные, как я,вы пытались возобновить сеанс экрана, запущенный как root
с учетной записью обычного пользователя. Обнаружил это с помощью ls / var / run / screen
, показав мне каталог для root
Иногда у меня возникает та же проблема (экран -r -d не возобновляется, не отвечает). Чтобы исправить это, найдите терминал (tty / pty), связанный с сеансом экрана:
screen -list
There is a screen on:
28176.pts-51.localhost (Attached)
1 Socket in /tmp/uscreens/S-xxxx.
Найдите указанный терминал (в этом примере pts-51):
ps axuw | grep 'pts/51' # will vary depending upon how pty's are named
you 12293 0.0 0.2 2148 1128 pts/51 Ss 10:34 0:00 -bash
Убейте процессы на этом терминале (обычно это ваша оболочка):
kill 12293
запустите ps еще раз, чтобы убедиться, что он исчез. Если нет:
kill -9 12293
На моем сервере (gnu / linux) мне иногда придется несколько раз убить -9, пока он не умрет.
После того, как все процессы на этом tty исчезнут, screen должен возобновить работу правильно:
screen -r -d