扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了如何在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 Name | Single Value | Effect |
---|---|---|
SIGHUP | 1 | 挂起 |
SIGINT | 2 | 键盘的中断信号 |
SIGKILL | 9 | 发出杀死信号 |
SIGTERM | 15 | 发出终止信号 |
SIGSTOP | 17, 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命令行下杀死一个进程”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流