杀死屏幕会话

Joh*_*ino 131 gnu-screen

我正在尝试终止屏幕会话。我注意到许多其他相关问题,但这些答案都不适用于我。我正在尝试终止以下会话:

screen -ls
There is a screen on:
    23520.pts-6.porkypig    (09/30/2013 02:49:47 PM)    (Detached)
1 Socket in /var/run/screen/S-root.

screen -r 23520.pts-6.porkypig
Run Code Online (Sandbox Code Playgroud)

现在我在会议中。根据文档:

http://www.gnu.org/software/screen/manual/screen.html#Quit

我应该按“控制 a”,然后按“控制\”。我这样做,然后什么也没有发生。

另一种解决方案是按Ctrl+a并键入 :quit。然而,它再次没有做任何事情。事实上,按control+ a,除了一条消息“没有其他窗口”之外,绝对没有任何反应

Jac*_*all 163

首先,您需要
screen -r 23520像您所做的那样重新附加到屏幕会话。然后按ctrl+然后按aaky在询问您是否真的要终止会话时按

来源

  • 如果屏幕内运行的进程出现问题,则此方法有效,但如果屏幕本身存在问题,则无效。在 99% 的情况下都是这种情况,并且具有仅影响屏幕内的单个窗口而不是终止所有窗口的额外好处。 (2认同)
  • 是杀死一个窗口,而不是一个会话 (2认同)
  • `Ctrl` + `A` + `K` 对我不起作用。 (2认同)

shg*_*Inc 145

  1. 确定会话的名称:
 $ screen -ls
Run Code Online (Sandbox Code Playgroud)
  1. 关闭会话:
$ screen -XS <session-id> quit
Run Code Online (Sandbox Code Playgroud)
  • 基本原理:-X= 执行命令,-S要执行的会话 PID
  • 例子: screen -XS 20411 quit
  • 来源:innaM 的回答

  • 如果您复制它,您应该归功于 [innaM answer](http://stackoverflow.com/a/1509764/562769) (5认同)

Bri*_*mas 13

如果需要,此命令将终止所有屏幕会话:

有了所有这些官方建议,我在这里有一个我觉得更容易、同样有效、更直接的建议:

pkill screen

谁想进入一个未知和不需要的屏幕只是为了按下几个大多数人可能几乎不记得的命令?这完全避免进入它,并直接杀死它。

另外,如果您有多个,这将一举解决所有问题。

  • 请注意,这将杀死所有正在运行的屏幕,这可能是您想要的,也可能不是。 (4认同)

小智 9

这将杀死所有分离的屏幕:

屏幕 -ls | grep 分离 | 切-d。-f1 | awk '{print $1}' | xargs 杀死

这将杀死所有连接或分离的屏幕

屏幕 -ls | grep pts | 切-d。-f1 | awk '{print $1}' | xargs 杀死


小智 7

和你一样,我想终止我的屏幕会话,发现文档没有帮助。确信必须有一个键盘快捷键,我发现
ctrl + a然后\
工作

然后我得到提示:“真的退出并杀死你所有的窗口 [y\n]”

我不知道为什么文档说ctrl + athen ctrl + \。那对我没有任何作用。


小智 5

您可以使用它来终止会话

screen -X -S <name> kill
Run Code Online (Sandbox Code Playgroud)