如何在 Linux 上终止已断开的 screen 会话
简介
在 Linux 系统上使用独立的 screen 会话来执行后台进程是一种非常有效的方式。然而,有时可能需要终止不再需要的独立 screen 会话。本文将向您展示如何使用命令行在 Linux 上删除独立的 screen 会话。
使用 GNU screen 工具时,我们有时会遇到需要清理的独立会话。在本快速教程中,我们将介绍一些删除已断开连接的 screen 会话的方法。
会话列表
在讨论如何结束现有会话之前,我们先来看一下现有会话的列表。首先,我们来设置几个示例 screen 会话。在 bash shell 中,我们输入 -
$ screen -dmS my_session_1 $ screen -dmS my_session_2
这将创建两个名为 my_session_1 和 my_session_2 的会话。请注意,我们目前尚未连接到这两个会话(这要归功于 -d 选项)。现在,让我们来看看我们创建的会话 -
$ screen -list
我们的两个会话显示如下 -
There are screens on: 84581.my_session_1 (Detached) 76340.my_session_2 (Detached)
附加并终止 Screen 会话
移除 Screen 会话的一种方法是先附加它,然后再将其移除。所以,让我们附加到上面创建的第一个会话 -
$ exit
会话将结束,我们应该会看到 -
[screen is terminating]
现在我们只剩下一个会话了 -
$ screen -list There is a screen on: 76340.my_session_2 (Detached)
如果屏幕会话包含多个窗口,则必须在每个窗口中输入 exit(或 CTRL+a k)才能结束屏幕会话。更简单的替代方法是使用 quit 命令 -
CTRL+a \
(注意:按下 CTRL+a 键时需要按住。)系统会要求您确认 -
Really quit and kill all your windows [y/n]
我们选择关闭所有会话窗口来结束 screen 会话。
上面的示例很简单,因为我们在同一个窗口中创建了 screen 会话。现在,如果会话中还有其他终端或用户需要移除,我们需要使用不同的命令来连接它。在当前终端窗口中,创建一个新会话:
$ screen -S my_session_3
-S 参数会创建并连接会话。现在,让我们打开第二个终端窗口,列出所有 screen 会话:
$ screen -list There is a screen on: 19643.my_session_3 (Attached)
请注意,它现在显示为"Attached(已连接)",因为我们已在第一个终端中连接。在第二个终端中,我们将强制会话从第一个终端窗口注销并连接到第二个终端。在第二个终端中,输入-
$ screen -D -R my_session_3
无需附加即可终止 Screen 会话
除了附加会话来结束会话之外,我们来看看几种无需附加即可结束 Screen 会话的方法。
首先,我们来看几个要终止的会话:
$ screen -dmS my_session_4 $ screen -dmS my_session_5
现在我们创建了两个会话:
$ screen -list There are screens on: 19665.my_session_4 (Detached) 19671.my_session_5 (Detached)现在我们可以使用参数 -X 向执行会话"screen"发送命令。它允许我们指定命令接收的会话。因此,要向 my_session_4 发送退出命令,我们可以使用 -X。
$ screen -S my_session_4 -X quit
screen -list显示我们当前的会话 -
$ screen -list There is a screen on: 19671.my_session_5 (Detached)
最后,我们始终可以通过操作系统命令终止 screen 会话。名称前的数字是会话的 PID,可以使用 delete 命令终止会话。
$ kill -9 19671
这将结束会话 19671
结论
在本文中,我们展示了在 Linux 上结束独立 screen 会话的几种方法。我们展示了如何检查独立的显示会话,如何使用 "screen -X -S" 命令删除独立的显示会话,以及如何使用 "exit" 命令通过链接来删除独立的显示会话。我们还介绍了一种使用 "kill -9 PID" 命令在不连接的情况下结束独立显示会话的方法。请记住,删除视频会话也会删除其中运行的所有进程。
因此,使用此命令时务必小心。相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

