Как отключить все экраны?

Как отключить все экраны?

Я случайно создал более 1000 экранов. Как мне убить их все одной командой? (Или несколькими)

решение1

Вы можете использовать :

pkill screen

Или

killall screen

В OSX процесс называется SCREEN заглавными буквами. Поэтому используйте:

pkill SCREEN

Или

killall SCREEN

решение2

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

screen -wipe

решение3

Недавно начал знакомиться с awk. Я собрал это, и это сработало. Я опубликовал это, так как это довольно легко понять.

screen -ls | grep '(Detached)' | awk 'sys {screen -S $1 -X quit}'

Где screen -lsперечисляет все текущие экраны. grep 'pattern'отфильтровывает все соответствующие строки. Затем мы можем получить дескриптор для всех отсоединенных экранов и с помощью awk sys {command}мы можем скопировать и вставить команду и выполнить ее с помощью sys, $1относится к первому аргументу, выбранному awk. Наконец, мы выполняем команду quit с помощью screen -X quit.

решение4

for scr in $(screen -ls | awk '{print $1}'); do screen -S $scr -X kill; done

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