如何在 Linux 上终止分离的屏幕会话


简介

单独的屏幕会话是执行 Linux 机器上的后台进程的绝佳方法。但是,有时可能需要终止不再需要的单独屏幕会话。在本文中,我们将向您展示如何使用命令行在 Linux 上删除单独的屏幕会话。

当使用GNU screen工具时,我们有时会最终得到需要清理的单独会话。在本快速教程中,我们将介绍一些删除断开连接的屏幕会话的选项。

会话列表

在我们开始讨论如何结束现有会话之前,让我们先浏览一下现有会话的列表。首先,让我们设置几个示例屏幕会话。在bash shell 中,我们输入 -

$ screen -dmS my_session_1
$ screen -dmS my_session_2

这将创建两个名为my_session_1my_session_2的会话。请注意,我们没有连接到任何一个(感谢-d选项)。现在,让我们看看我们创建的会话 -

$ screen -list

我们的两个会话显示出来 -

There are screens on:
	84581.my_session_1   (Detached)
	76340.my_session_2   (Detached)

附加和终止屏幕会话

删除屏幕会话的一种方法是附加它,然后删除它。因此,让我们附加到上面创建的第一个会话 -

$ 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 -S my_session_3

-S 将创建会话并将其附加。现在,让我们打开第二个终端窗口并列出我们的屏幕会话 -

$ screen -list
There is a screen on:
	19643.my_session_3   (Attached)

请注意,它现在是“附加”,因为我们在第一个终端中连接。在我们的第二个终端中,我们将强制会话注销第一个终端窗口并连接到第二个终端。在第二个终端中,键入 -

$ screen -D -R my_session_3

无需附加即可终止屏幕会话

作为附加到会话以结束它的替代方法,让我们看看一些无需附加即可结束屏幕会话的方法。

首先,我们相信要终止几个会话 -

$ 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 命令向执行“screen”会话发送命令。他将允许我们指定命令将接收的会话。因此,要向my_session_4发送退出命令,我们将使用 -

$ screen -S my_session_4 -X quit

screen -list显示我们当前的会话 -

$ screen -list
There is a screen on:
	19671.my_session_5   (Detached)

最后,我们始终可以通过操作系统命令终止屏幕会话。名称之前的数字是会话的PID,可用于通过 delete 命令终止会话。

$ kill -9 19671

这将结束会话19671

结论

在本文中,我们展示了在 Linux 上结束独立屏幕会话的各种方法。我们展示了如何检查单独的显示会话,如何使用“screen -X -S”命令删除单独的显示会话,以及如何使用“exit”命令通过链接它删除单独的显示会话。我们还介绍了一种在不连接的情况下结束单独视图会话的方法,使用“kill -9 PID”命令。请记住,删除视频会话也将删除在其中运行的所有进程。因此,使用此命令时请小心。

更新于: 2023年1月20日

4K+ 阅读量

启动您的职业生涯

通过完成课程获得认证

开始
广告