Господа, столкнулся со следующей проблемой. Присоединяюсь к vds серверу по ssh, через screen запускаю долгоиграющие задачи и прерываю ssh связь. Задачи продолжают исправно выполняться. Иногда захожу, чтобы посмотреть «как дела» и запустить новые задачи, используя команду screen –r или screen –x, и тут сталкиваюсь с проблемой. Иногда к сеансу скрина удается успешно подключиться, а иногда получаю ответ «There is no screen to be attached» (либо There is no screen to be resumed). Причем, в top-e вижу, что процессы с названием SCREEN, а также процессы тех самых долгоиграющих задач успешно живут и выполняются. Если посмотреть pid скринов и попытаться подключиться к ним через “screen -r pid.tty.host”, то получаю «There is no screen to be resumed matching pid.tty.host». И происходит это каким-то случайным образом, никакой закономерности проследить не смог, чем это поведение провоцируется. Есть у кого-нибудь идеи, как всё-таки подключиться к этим мертвым душам и предотвратить такое поведение?
Спасибо!
>кого-нибудь идеи, как всё-таки подключиться к этим мертвым душам и предотвратить
>такое поведение?Если тот screen думает, что у него уже есть клиент, можно его отрорвать принудительно:
screen -d -RR
>Спасибо!
Пжалуйста.
Спасибо, попробую, когда опять возникнет такое. Я сейчас тупо убил эти процессы, так как точно знал, что там всё доделалось, что нужно :-)
>Спасибо, попробую, когда опять возникнет такое. Я сейчас тупо убил эти процессы,
>так как точно знал, что там всё доделалось, что нужно :-)Пожалуйста. Посмотри ещё перед элим вывод screen -ls - если в "той" строке "(Attached)", то, наверное, это оно...
Для тренировки :) оторви запущенный в соседнем терминале (или ssh) screen. Чтоб не дожидаться. $)
А бывает что и виснет, зараза. wiped кажется тогда пишет.
>А бывает что и виснет, зараза. wiped кажется тогда пишет.ps -A|grep screen|awk '{printf "strace -p %d",$2}'|bash