#1 楼
您可以使用:pkill screen
或
killall screen
在OSX中,该过程称为SCREEN大写。因此,请使用:
pkill SCREEN
或
killall SCREEN
评论
在这种情况下,不建议使用SIGKILL。 SIGTERM将是一个更好的选择。
–马可
13-10-10在22:31
嗨,Rahul Patil。为什么屏幕未在顶部列出
–user15964
16-4-30的1:03
如果我没有权限怎么办?我是否必须手动分别进入和退出所有屏幕?
–hipoglucido
17年6月21日在15:39
#2 楼
如果屏幕死了,请使用:screen -wipe
#3 楼
最近,我开始熟悉awk,我将其放在一起,并达到了目的。我发布了它,因为它很容易理解。screen -ls | grep '(Detached)' | awk 'sys {screen -S -X quit}'
screen -ls
列出所有当前屏幕。grep 'pattern'
过滤掉所有匹配的行。然后,我们可以获取所有分离屏幕的句柄,并使用awk sys {command}
复制和粘贴命令,然后使用sys
执行该命令,
指awk选择的第一个参数。最后,我们使用screen -X quit
执行quit命令。评论
屏幕-ls | grep'(分离)'| awk'{print $ 1}'| xargs -I%-t屏幕-X -S%退出对我来说效果更好。
– whereisalext
19-09-22在23:24
#4 楼
str=$(screen -ls)
array=$(echo $str|tr "." "\n")
for V in $array
do
if [ $V -gt 0 ]
then screen -S $V -X quit
fi
done
#5 楼
for scr in $(screen -ls | awk '{print }'); do screen -S $scr -X kill; done
#6 楼
我对您如何创建1000个“屏幕”感到有些困惑。您可能是说1000个屏幕窗口(在一个屏幕会话中有1000个不同的终端窗口)吗?如果您想在单个屏幕会话中有1000个窗口,那么更优雅的解决方案是使用命令
C-a \
(ctrl-a后跟\)。评论
尝试在屏幕内执行屏幕1000x。怎么了?您将获得1000个屏幕窗口。是的,没错,智能且仁慈的屏幕不会产生1000个屏幕会话。因此,如果OP已经启动了屏幕,则意外启动1000个屏幕窗口要比启动1000个屏幕会话容易得多。
–Railgun2
13-10-11在1:44
奇怪,但我要回复的评论似乎消失了。无论如何,我让上述评论作为记录。
–Railgun2
13-10-11在1:49
嗯,这实际上很简单。只是做一个无限循环(偶然),然后在屏幕上放类似的东西-m sleep100000。这发生了,直到它已经创建了1000个屏幕会话,我才注意到。
– BrainStone
13-10-11在10:14
#7 楼
以下命令将终止所有不活动的屏幕:perl -e 'while (map { kill 9, [split /\./]->[0] } grep { /Detached/ } split /\n/, qx{screen -ls}) { sleep 1 } exec qw(screen -wipe)'
评论
这个作品。
– StephenBoesch
20-2-18在18:40
评论
运行->屏幕-ls | grep分离|切-d。 -f1 | awk'{print $ 1}'| xargs kill好主意@sactiw。我对其进行了修改,以与命名的会话一起使用,并对命令进行了一些调整,以使其优先级设置,以彻底清除会话(以防它们像我一样被“卡住”),并再次为用户列出以进行健全性检查:屏幕- ls | grep“ <名称>” |切-d。 -f1 | tr-删除“ \ t” | xargs kill -9;屏幕擦拭屏幕-ls;
您是如何意外创建1000个屏幕的?