千家信息网

如何在Linux命令行下杀死一个进程

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍了如何在Linux命令行下杀死一个进程,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定位进程杀死一个没有响应的进程的*
千家信息网最后更新 2025年02月03日如何在Linux命令行下杀死一个进程

这篇文章主要介绍了如何在Linux命令行下杀死一个进程,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

定位进程

杀死一个没有响应的进程的***个步骤是定位这个进程。我用来定位进程的命令有两个:top 和 ps 命令。top 是每个系统管理员都知道的工具,用 top 命令,你能够知道到所有当前正在运行的进程有哪些。在命令行里,输入 top 命令能够就看到你正在运行的程序进程(图1)

图 1: top 命令给出你许多的信息。

从显示的列表中你能够看到相当重要的信息,举个例子,Chrome 浏览器反映迟钝,依据我们的 top 命令显示,我们能够辨别的有四个 Chrome 浏览器的进程在运行,进程的 pid 号分别是 3827、3919、10764 和 11679。这个信息是重要的,可以用一个特殊的方法来结束进程。

尽管 top 命令很是方便,但也不是得到你所要信息最有效的方法。 你知道你要杀死的 Chrome 进程是那个,并且你也不想看 top 命令所显示的实时信息。 鉴于此,你能够使用 ps 命令然后用 grep 命令来过滤出输出结果。这个 ps 命令能够显示出当前进程列表的快照,然后用 grep 命令输出匹配的样式。我们通过 grep 命令过滤 ps 命令的输出的理由很简单:如果你只输入 ps 命令,你将会得到当前所有进程的列表快照,而我们需要的是列出 Chrome 浏览器进程相关的。所以这个命令是这个样子:

ps aux | grep chrome

这里 aux 选项如下所示:

  • a = 显示所有用户的进程

  • u = 显示进程的用户和拥有者

  • x = 也显示不依附于终端的进程

当你搜索图形化程序的信息时,这个 x 参数是很重要的。

当你输入以上命令的时候,你将会得到比图 2 更多的信息,而且它有时用起来比 top 命令更有效。

图 2:用 ps 命令来定位所需的内容信息。

结束进程

现在我们开始结束进程的任务。我们有两种可以帮我们杀死错误的进程的信息。

  • 进程的名字

  • 进程的 ID (PID)

你用哪一个将会决定终端命令如何使用,通常有两个命令来结束进程:

  • kill - 通过进程 ID 来结束进程

  • killall - 通过进程名字来结束进程

有两个不同的信号能够发送给这两个结束进程的命令。你发送的信号决定着你想要从结束进程命令中得到的结果。举个例子,你可以发送 HUP(挂起)信号给结束进程的命令,命令实际上将会重启这个进程。当你需要立即重启一个进程(比如就守护进程来说),这是一个明智的选择。你通过输入 kill -l 可以得到所有信号的列表,你将会发现大量的信号。

图 3: 可用的结束进程信号。

最经常使用的结束进程的信号是:

Signal NameSingle ValueEffect
SIGHUP1挂起
SIGINT2键盘的中断信号
SIGKILL9发出杀死信号
SIGTERM15发出终止信号
SIGSTOP17, 19, 23停止进程

好的是,你能用信号值来代替信号名字。所以你没有必要来记住所有各种各样的信号名字。

所以,让我们现在用 kill 命令来杀死 Chrome 浏览器的进程。这个命令的结构是:

kill SIGNAL PID

这里 SIGNAL 是要发送的信号,PID 是被杀死的进程的 ID。我们已经知道,来自我们的 ps 命令显示我们想要结束的进程 ID 号是 3827、3919、10764 和 11679。所以要发送结束进程信号,我们输入以下命令:

kill -9 3827 kill -9 3919 kill -9 10764 kill -9 11679

一旦我们输入了以上命令,Chrome 浏览器的所有进程将会成功被杀死。

我们有更简单的方法!如果我们已经知道我们想要杀死的那个进程的名字,我们能够利用 killall 命令发送同样的信号,像这样:

killall -9 chrome

附带说明的是,上边这个命令可能不能捕捉到所有正在运行的 Chrome 进程。如果,运行了上边这个命令之后,你输入 ps aux | grep chrome 命令过滤一下,看到剩下正在运行的 Chrome 进程有那些,***的办法还是回到 kIll 命令通过进程 ID 来发送信号值 9 来结束这个进程。

感谢你能够认真阅读完这篇文章,希望小编分享的"如何在Linux命令行下杀死一个进程"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

进程 命令 信号 信息 输入 运行 名字 浏览器 浏览 两个 正在 篇文章 定位 重要 方法 输出 有效 上边 例子 快照 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 四川智慧团建软件开发哪儿好 山东省第九届大学生网络安全 网络安全知识竞赛试题学生版 车载网络技术应用综述 吴忠市软件开发技术怎么样 智能分析服务器的市场前景 通过数据库改后台 密码 手机服务器定位在哪设置 软件开发数学知识难吗 仁聚网络技术有限公司 第四届国家网络安全宣传主题活动 海格网络技术员 ctf江西网络安全大赛 工业园区数据网络技术收费 政府网络安全防护方案 数据库基础程序设计题 应对网络安全应该采取的措施三种 海康服务器管理默认密码 杨浦区常规网络技术网上价格 上海思华网络技术走线公司 qq炫舞2连接不上服务器 命令行窗口连接数据库 通过数据库改后台 密码 关闭网络安全的端口 ipfs互联网科技 手机服务器定位在哪设置 软件开发和保险销售哪个好 库文件如何导入数据库 计算机3级网络技术操作题考什么 宇柯互联网络科技
0