Answers:
您可以使用 :
pkill screen
要么
killall screen
在OSX中,所有大写字母都称为SCREEN。因此,使用:
pkill SCREEN
要么
killall SCREEN
Top
最近,我开始熟悉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
。
screen -ls | grep '(Detached)' | awk '{print $1}' | xargs -I % -t screen -X -S % quit
为我工作得更好。
我对您如何创建1000个“屏幕”感到有些困惑。您可能是说1000个屏幕窗口(在一个屏幕会话中有1000个不同的终端窗口)吗?
如果您希望在单个屏幕会话中包含1000个窗口,那么更优雅的解决方案是使用命令C-a \
(ctrl-a后跟\)退出屏幕。
screen -m sleep 100000
。这发生了,直到它已经创建了1000多个屏幕会话,我才注意到。
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill