如何在Linux上终止桌面应用程序或后台进程

Windows按Ctrl+Alt+Delete组合键,Mac按Command+Option+Esc组合键强制关闭冻结的应用程序。Linux有自己的方法来“杀死”那些行为不端的进程,无论它们是图形窗口还是后台进程。

您可以使用的确切图形工具将取决于您的桌面环境,因为每个桌面环境都会带来不同的工具。但它们中的大多数仍然非常相似。

从图形桌面

现代的Linux桌面很好地处理了这一点,而且它可以出人意料地自动化。如果应用程序没有响应,带有合成管理器的桌面通常会使整个窗口灰显,以表明它没有响应。

单击窗口标题栏上的X按钮,窗口管理器通常会通知您窗口没有响应。您可以给它一些时间来响应,或者单击“强制退出”之类的选项强制关闭应用程序。

在Linux上,绘制标题栏的窗口管理器与应用程序本身是分开的,所以即使窗口不会响应,它通常也会响应。不过,有些窗口确实会绘制自己的界面,所以这可能并不总是有效的。

“xkill”应用程序可以帮助您快速删除桌面上的任何图形窗口。

根据您的桌面环境及其配置,您可以通过按Ctrl+Alt+Esc来激活此快捷方式。您也可以只运行xkill命令-您可以打开一个终端窗口,键入不带引号的xkill,然后按Enter键。或者,你可以按Alt+F2这样的快捷键,它会在Ubuntu的Unity桌面和许多其他桌面上打开“Run Command”对话框。在对话框中键入xkill并按Enter键。

您的光标将变为X。单击一个窗口,xkill实用程序将确定与该窗口关联的进程,然后立即终止该进程。窗口将立即消失并关闭。

您的Linux桌面可能也有一个工具,其工作方式类似于Windows上的任务管理器。在Ubuntu的Unity桌面、GNOME和其他基于GNOME的桌面上,这是系统监视器实用程序。打开系统监视器实用程序以查看正在运行的进程列表-包括后台进程。如果进程行为不端,您还可以从这里强制终止它们。

从航站楼出发

相关:如何从Linux终端管理进程:您需要知道的10条命令

比方说,您想要从终端执行所有这些操作。当我们查看用于在Linux上管理进程的命令时,我们介绍了许多可以用于此目的的实用程序。

假设Firefox在后台运行,我们想要从终端杀死它。标准kill命令接受一个进程ID号,因此您需要首先找到它。

例如,您可以运行如下命令:

它将列出所有进程,并通过管道将该列表传递给grep命令,该命令将对其进行过滤,并仅打印包含Firefox的行。(您将看到的第二行是grep进程本身。)。您还可以从top命令和许多其他位置获取进程ID。

从Firefox进程中获取进程ID号-就在用户名的右侧-并将其提供给kill命令。也就是说,按如下方式运行命令:

如果进程以另一个用户身份运行,您需要首先成为root用户-或者至少使用sudo命令运行kill命令,如下所示:

这是一种基本的方法,但不是最快的。pgrep和pkill命令有助于简化这一过程。例如,运行“pgrep Firefox”可以查看正在运行的Firefox进程的进程ID。然后,您可以将该数字提供给kill命令。

或者,跳过所有这些步骤,运行“pkill Firefox”在不知道其编号的情况下终止Firefox进程。pkill执行一些基本的模式匹配-它将尝试查找名称包含Firefox的进程。

KILLALL命令类似于pkill,但更精确一些。它将杀死具有特定名称的所有正在运行的进程。因此,运行“KILLALL Firefox”将杀死所有名为“Firefox”的正在运行的进程,但不会杀死名称中只有Firefox的任何进程。

这些远不是Linux上包含的用于管理进程的唯一命令。如果您使用的是某种类型的服务器管理软件,那么它也可能有一些有用的方法来终止和重新启动进程。

系统服务的工作方式与进程不同-您需要使用特定的命令来关闭、重新启动或启动服务。这些特定命令在不同的Linux发行版上可能会有所不同。

图片来源:Lee on Flickr

相关文章