如何在 Linux 系统中结束进程或是中止程序

在 Linux 中有几种使用命令行或图形界面终止一个程序的方式。

-- Sachin Patil

致谢

编译自 | https://opensource.com/article/18/5/how-kill-process-stop-program-linux

作者 | Sachin Patil

译者 | ChenYi (cyleft) 共计翻译:24篇 贡献时间:150 天

在 Linux 中有几种使用命令行或图形界面终止一个程序的方式。

进程出错的时候,您可能会想要中止或是杀掉这个进程。在本文中,我们将探索在命令行和图形界面中终止进程或是应用程序,这里我们使用gedit

[1]

作为样例程序。

使用命令行或字符终端界面

Ctrl + C

在命令行中调用 (如果您没有使用 命令)程序的一个问题是 shell 会话被阻塞,没法释放命令行提示符。在这种情况下, ( 和 的组合键) 会很管用。这会终止 ,并且所有的工作都将丢失(除非文件已经被保存)。 会给 发送了 信号。这是一个默认终止进程的停止信号,它将指示 shell 停止 的运行,并返回到主函数的循环中,您将返回到提示符。

Ctrl + Z

它被称为挂起字符。它会发送 信号给进程。它也是一个停止信号,但是默认行为不是杀死进程,而是挂起进程。

下面的命令将会停止(杀死/中断) 的运行,并返回到 shell 提示符。

一旦进程被挂起(以 为例),将不能在 中写入或做任何事情。而在后台,该进程变成了一个作业,可以使用 命令验证。

允许您在单个 shell 会话中控制多个进程。您可以终止,恢复作业,或是根据需要将作业移动到前台或是后台。

让我们在后台恢复 ,释放提示符以运行其它命令。您可以通过 命令来做到,后跟作业 ID(注意上面的 命令显示出来的 ,这就是作业 ID)。

这和直接使用 启动程序效果差不多:

使用 kill

命令提供信号的精确控制,允许您通过指定信号名或是信号数字为进程发送信号,后跟进程 ID 或是 PID。

我喜欢 命令的一点是它也能够根据作业 ID 控制进程。让我们使用 命令在后台开启 服务。假设通过 命令我得到了一个 的作业 ID,让我们为 发送 信号:

作业 ID 需要使用 前缀,不然 会将其视作 PID。

不明确指定信号, 仍然可以工作。此时,默认会发送能中断进程的 信号。执行 可以查看信号名列表,使用 命令阅读手册。

使用 killall

如果您不想使用特定的工作 ID 或者 PID, 允许您使用特定的进程名。中断 最简单的 使用方式是:

它将终止所有名为 的进程。和 相似,默认发送的信号是 。使用 选项忽略进程名的大小写。

查看手册学习更多 命令选项(如 )。

使用 xkill

您是否遇见过播放器崩溃,比如VLC

[2]

灰屏或挂起?现在你可以像上面一样获得进程的 PID 来杀掉它,或者使用 命令终止应用程序。

Using xkill

允许您使用鼠标关闭窗口。仅需在终端执行 命令,它将会改变鼠标光标为一个X或是一个小骷髅图标。在你想关闭的进程窗口上点击x。小心使用 ,如手册描述的一致,它很危险。我已经提醒过您了!

参阅手册,了解上述命令更多信息。您还可以接续探索 和 命令。

via:https://opensource.com/article/18/5/how-kill-process-stop-program-linux

作者:Sachin Patil

[4]

选题:lujun9972译者:CYLeft校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180605B0GHDA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券