0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以多种方式使用”kill”命令终结应用

Linux爱好者 来源:未知 作者:胡薇 2018-04-20 16:36 次阅读

无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个”kill”命令强制终结它。在这个教程中,我们将展示给你多种方式使用”kill”命令终结应用。

Kill命令和信号

当你执行一个”kill”命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。总共有60个你可以使用的信号,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。

你可以用这个命令看到所有信号的列表:

kill -l

SIGTERM – 此信号请求一个进程停止运行。此信号是可以被忽略的。进程可以用一段时间来正常关闭,一个程序的正常关闭一般需要一段时间来保存进度并释放资源。换句话说,它不是强制停止。

SIGKILL – 此信号强制进程立刻停止运行。程序不能忽略此信号,而未保存的进度将会丢失。

使用”kill”的语法是:

kill [信号或选项] PID(s)

默认信号(当没有指定的时候)是SIGTERM。当它不起作用时,你可以使用下面的命令来强制kill掉一个进程:

kill SIGKILL PID

或者

kill -9 PID

这里”-9″代表着SIGKILL信号。

如果你不知道应用的PID,仅需要运行这个命令:

ps ux

它会显示所有正在运行的应用还有应用的PID。

例如,要kill掉Chrome,我会运行命令:

kill -9 3629

也可以在同一时间kill多个进程。

kill -9 PID1 PID2 PID3

PKill

“pkill”命令允许使用扩展的正则表达式和其它匹配方式。你现在可以使用应用的进程名kill掉它们,而不是使用PID。例如,要kill掉Firefox浏览器,只需要运行命令:

pkill firefox

使用正则表达式匹配的话,你可以输入进程名的部分字符,比如:

pkill fire

为了避免kill掉错误的进程,你应该用一下”pgrep -l [进程名]”列表来匹配进程名称。

Killall

killall同样使用进程名替代PID,并且它会kill掉所有的同名进程。例如,如果你正在运行多个Firefox浏览器的实例,可以用命令把它们全部kill掉:

killall firefox

在Gnome中,你可以使用这个命令重启Nautilus:

killall nautilus

xkill

xkill 是图形方式kill一个应用。当你在终端键入”xkill”,你的光标将立刻变成一个”十字”。你只需要做的是在不正常的应用上点击一下,它就会立刻kill掉这个应用。如果你经常用的话,你也可以添加一个键盘快捷键来激活xkill。

结论

当应用不正常而导致系统挂起的时候,人们往往重启计算机并且再一次开启所有的任务。而有了这些”kill”命令,你将能够更好的处理不正常的应用,从而避免导致系统崩溃。当你不想因一个不正常的进程而导致服务器宕机时,它尤其的有用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号
    +关注

    关注

    11

    文章

    2632

    浏览量

    75361
  • PID
    PID
    +关注

    关注

    35

    文章

    1444

    浏览量

    83695

原文标题:精通 Linux 的 “kill” 命令

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么不建议用kill-9关闭程序?

    相信不少Linux运维小伙伴在实际运维中经常会用到kill -9 进程ID 这个命令来干掉程序。实际真的合理吗,今天就让我们一起来看看为什么技术牛人都不建议用kill -9关闭程序,看看该命令
    的头像 发表于 12-04 09:39 410次阅读
    为什么不建议用<b class='flag-5'>kill</b>-9关闭程序?

    新人刚接触kill5,求助

    [size=13.63636302947998px]kill5能开发51单片机吗,51单片机的固件库是什么?[size=13.63636302947998px]装kill4的时候 里面没有STM32的固件库,同时装kill4和
    发表于 03-09 22:50

    Linux下Nginx的常用命令------启动、停止、重启

    ./nginx -s reload 即可方法二:查找当前nginx进程号,然后输入命令kill -HUP 进程号 实现重启nginx服务
    发表于 07-09 07:02

    RN4677连接到andoid/ios时kill命令是否工作?

    嗨,我需要使用KILL comand来快速断开蓝牙连接。当模块连接到另一个RN4677时工作正常,但是当我尝试从Android平板电脑断开连接时,我只收到“Err”的响应。这是预期的吗?iOS呢
    发表于 07-29 16:17

    清除浮动的多种方式是什么

    清除浮动 的多种方式(clearfix)
    发表于 05-20 11:50

    迅为i.MX6ULL终结者Linux中断实验运行测试

    一下。开发板中使用的是光盘资料里面提供的busybox文件系统,光盘资料的“i.MX6UL终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox文件系统”目录下)。输入下面命令
    发表于 05-21 10:28

    Kill4怎么使用?

    Kill4怎么使用?
    发表于 10-09 08:27

    kill结构中的参数RFU和RECOM是什么意思

    我尝试杀死一个 TAG,我使用不同的配置但没有得到不同的答案。我相信如果杀死一个标签,我的读者就不可能识别出她,但在我使用 kill 命令后,我的标签仍然被我的读者读取。我想了解kill 结构中的参数RFU和RECOM是什么意思
    发表于 12-23 06:22

    终结

    终结终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作一个终结信号才能使用SCSI总线。IDE接口是非常易于
    发表于 01-09 11:55 820次阅读

    如何用Linux下命令KILL掉一个进程?

    杀死一个没有响应的进程的第一个步骤是定位这个进程。我用来定位进程的命令有两个:top 和 ps 命令。top 是每个系统管理员都知道的工具,用 top 命令,你能够知道到所有当前正在运行的进程有哪些。
    发表于 04-26 14:30 1176次阅读

    Linux使用kill命令的注意事项

     Linux系统下有一个直接终止进程的命令,这个命令的代码也是非常霸气,直接就是英文的kill。既然这个命令这么有“杀气”,为了防止“误伤”,下面小编就给大家来普及一下Linux使用
    发表于 07-16 14:30 599次阅读

    还在使用kill -9 pid结束spring boot项目吗?

    查看(这段话来自菜鸟教程)。 讲的这个复杂,简单点来说就是用来杀死linux中的进程,啥?你问我啥是进程?请自行百度。 我相信很多人都用过kill -9 pid 这个命令,彻底杀死进程的意思,一般情况我们使用它没有上面问题,但是在我们项目中使用它就有可能存在致命的问
    的头像 发表于 04-13 16:01 1171次阅读
    还在使用<b class='flag-5'>kill</b> -9 pid结束spring boot项目吗?

    socat命令如何在多种场景下实现

    Socat或SOcket CAT是一个基于 Linux 命令行/终端的实用程序,用于在两个双向字节流之间建立和传输数据。 socat命令可以在多种场景下实现,主要有两个原因:
    的头像 发表于 09-06 09:02 2894次阅读

    Linux中的kill 和 killall 命令介绍

    如果进程在前台运行,你可以使用 Ctrl+C 终端快捷方式。但是,如果进程不可见(在后台运行),你可以使用专用命令杀死它。
    的头像 发表于 10-09 10:27 2933次阅读

    求求你们别再用kill -9了,这才是Spring Boot停机的正确方式

    kill -9 pid 可以模拟了一次系统宕机,系统断电等极端情况,而kill -15 pid 则是等待应用关闭,执行阻塞操作,有时候也会出现无法关闭应用的情况(线上理想情况下,是bug就该寻根溯源)
    的头像 发表于 05-15 14:56 503次阅读