当我执行 screen -ls
时,我看到以下内容 . 我该如何杀死所有独立的会话?
有屏幕:84918.ttys002.ros-mbp(独立式)
84944.ttys008.ros-mbp(独立式)
84970.ttys013.ros-mbp(附)
84998.ttys002.ros-mbp(独立)
85024.ttys002.ros-mbp(独立式)
/var/folders/86/062qtcyx2rxbnmn8mtpkyghs0r0r_z/T/.screen中的5个套接字 .
6 回答
screen -ls | grep pts | cut -d. -f1 | awk '{print $1}' | xargs kill
杀死 only Detached 屏幕会话(credit @schatten):
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
这是一个结合了所有答案的解决方案:将其添加到
.bashrc
或.bash_profile
:这是一个方便的功能,易于记忆
只杀死分离的屏幕,阻止你做一些愚蠢的事情
记得打开一个新的bash终端或运行
source .bashrc
以使killscreens
可用感谢@Rose Perrone,@ Mirind Shah和@schatten
在.bash_profile中包含此函数:
要运行它,请调用
killd
. 这将终止所有屏幕会话,分离与否 .如果屏幕已死,请使用:
将Edward Newell和Rose Perrone的解决方案整合到一个更具可读性和“屏幕”的解决方案中 .
将以下内容添加到
.bashrc
或.bash_profile
.的情况下
将匹配20505和2014年,退出2014将返回“未找到屏幕会话” .
可能有用 .
我总是遇到模式20505.name,其中如果使用-S标志启动屏幕,则name是主机名或会话名称 . 适用于OS X和Debian,可能不是通用的 .