Ответ 1
screen -X -S SCREENID kill
вы можете использовать следующую команду
screen -S SCREENNAME -p 0 -X quit
Вы можете просмотреть список сеансов экрана, выполнив screen -ls
Я создал экран "myscreen" в linux, и он прекратил отвечать на запросы. Я закрыл терминал и попытался его снова открыть. "screen -ls" показывает, что экран подключен. Я пробовал следующие команды, но ничего не ответил.
screen -r myscreen
screen -D myscreen
screen -D -RR myscreen
screen -X -S myscreen quit
Любая помощь для повторного подключения к экрану или для убийства экрана очень ценится.
screen -X -S SCREENID kill
вы можете использовать следующую команду
screen -S SCREENNAME -p 0 -X quit
Вы можете просмотреть список сеансов экрана, выполнив screen -ls
Создать экран из терминала:
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 для выполнения команд.
Это сработало для меня очень хорошо. Получить идентификатор экрана с помощью:
screen -r
или
screen -ls
затем закройте экран: kill -9 <screenID>
теперь он становится мертвым экраном,
затем вытрите его с помощью: screen -wipe
Вы можете создать функцию для уничтожения всех существующих сеансов. взгляните на Убить все сеансы отдельного экрана
для отображения всех активных сеансов screen -r
если вы указали, выберите с помощью мыши интересующую вас сессию и вставьте ее. как это
screen -r
Предположим, что у вашего идентификатора экрана есть шаблон. Затем вы можете использовать следующий код для одновременного уничтожения всего подключенного экрана.
result=$(screen -ls | grep 'pattern_of_screen_id' -o)
for i in $result;
do
`screen -X -S $i quit`;
done
Я обычно не называю мои экземпляры экрана, поэтому это может быть не полезно, но вы пробовали screen -r
без части "myscreen"? обычно для меня, screen -r
покажет PID каждого экрана, после чего я смогу снова подключиться с помощью screen -d -r <PID>
Вы можете найти идентификатор процесса на прикрепленном рабочем экране.
Я нашел его так же, как идентификатор сеанса, который вы можете получить с помощью команды:
screen -ls
И вы можете использовать следующую команду, чтобы убить этот процесс:
kill [sessionId]
или
sudo kill [sessionId]
Чтобы убить отдельный экран, используйте это из терминала:
screen -X -S "SCEEN_NAME" quit
Если вы подключены, то используйте (из терминала и внутри экрана):
exit
Для поиска результата: Нажмите здесь
Экран - полноэкранный оконный менеджер, который мультиплексирует физический терминал между несколькими процессами, обычно интерактивными оболочками. Существует буфер истории прокрутки для каждого виртуального терминала и механизм копирования и вставки, который позволяет пользователю перемещать текстовые области между окнами.