Подтвердить что ты не робот

Убить подключенный экран в Linux

Я создал экран "myscreen" в linux, и он прекратил отвечать на запросы. Я закрыл терминал и попытался его снова открыть. "screen -ls" показывает, что экран подключен. Я пробовал следующие команды, но ничего не ответил.

screen -r myscreen
screen -D myscreen
screen -D -RR myscreen
screen -X -S myscreen quit

Любая помощь для повторного подключения к экрану или для убийства экрана очень ценится.

4b9b3361

Ответ 1

screen -X -S SCREENID kill

вы можете использовать следующую команду

screen -S SCREENNAME -p 0 -X quit

Вы можете просмотреть список сеансов экрана, выполнив screen -ls

Ответ 2

Создать экран из терминала:

screen -S <screen_name>

Чтобы просмотреть список экранов:

<screen -ls> or <screen -list>

Чтобы перейти к конкретному экрану:

<screen -x screen_name>

<screen -r screen_name>

Внутри экрана


Чтобы закрыть экран:

give ctrl+d screen will get terminated

Отключить экран:

 give <ctrl+ad>or <screen -d >screen will get detached

Для повторного подключения экрана:

screen -x <screen_name> or screen -r <screen_name>

Чтобы убить экран из терминала:

<screen -X -S screen_name quit> 

или

<screen -X -S screen_name kill>

Вы можете использовать screen_name или process_id для выполнения команд.

Ответ 3

Это сработало для меня очень хорошо. Получить идентификатор экрана с помощью:

screen -r

или

screen -ls

затем закройте экран: kill -9 <screenID> теперь он становится мертвым экраном, затем вытрите его с помощью: screen -wipe

Ответ 4

Вы можете создать функцию для уничтожения всех существующих сеансов. взгляните на Убить все сеансы отдельного экрана

для отображения всех активных сеансов screen -r

если вы указали, выберите с помощью мыши интересующую вас сессию и вставьте ее. как это

screen -r

Ответ 5

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

result=$(screen -ls | grep 'pattern_of_screen_id' -o)
for i in $result; 
do      
    `screen -X -S $i quit`;
done

Ответ 6

Я обычно не называю мои экземпляры экрана, поэтому это может быть не полезно, но вы пробовали screen -r без части "myscreen"? обычно для меня, screen -r покажет PID каждого экрана, после чего я смогу снова подключиться с помощью screen -d -r <PID>

Ответ 7

Вы можете найти идентификатор процесса на прикрепленном рабочем экране. Я нашел его так же, как идентификатор сеанса, который вы можете получить с помощью команды:
screen -ls
И вы можете использовать следующую команду, чтобы убить этот процесс:
kill [sessionId] или
sudo kill [sessionId]

Ответ 8

Чтобы убить отдельный экран, используйте это из терминала:

screen -X -S "SCEEN_NAME" quit

Если вы подключены, то используйте (из терминала и внутри экрана):

exit

Ответ 9

Для поиска результата: Нажмите здесь

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