进程(五):向进程发送信号

我们可以使用键盘或者 pkill 命令、kill 命令和 killall 命令向进程发送各种信号。

在 Bash 下,我们可以使用键盘发送信号,如下所示:

组合键 含义
Ctrl + C 中断信号,发送 SIGINT 信号到运行在前台的进程
Ctrl + Y 延时挂起信号,使运行的进程在尝试从终端读取输入时停止。</br>控制权返回给 Shell,使用户可以将进程放在前台或后台,或杀掉该进程
Ctrl + Z 挂起信号,发送 SIGTSTP 信号到运行的进程,由此将其停止,并将控制权返回给 Shell

大多数主流的 Shell,包括 Bash,都有内置的 kill 命令。Linux 系统中,也有 kill 命令,即 /bin/kill。如果使用 /bin/kill,则系统可能会激活一些额外的选项,比如,杀掉不是你自己的进程,或指定进程名称作为参数,类似于 pgrep 和 pkill 命令。不过两种 kill 命令默认都是发送 SIGTERM 信号。

当准备杀掉一个进程或一连串的进程时,我们的常识是从尝试发送最安全的信号开始,即 SIGTERM 信号。以这种方式,能够正常停止运行的程序,当它收到 SIGTERM 信号时,有机会按照已经设计好的流程执行,比如,清理和关闭打开的文件。如果我们发送一个 SIGKILL 信号到进程,你将消除进程先清理而后关闭的机会,而这可能会导致不可预知的结果。但如果一个有序地终结不管用,那么发送 SIGINT 或 SIGKILL 信号就可能是唯一的方法了。例如,当一个前台进程使用 Ctrl + C 组合键杀不掉时,那么最好就是使用命令 “kill -9 PID” 了。

kill 命令可以发送多种信号到进程。特别有用的信号包括:

  • SIGHUP(1)
  • SIGINT(2)
  • SIGKILL(9)
  • SIGCONT(18)
  • SIGSTOP(19)

在 Bash 中,信号名或信号值都可以作为 kill 命令的选项,而作业号或进程号则作为 kill 命令的参数。

实例1:发送 SIGKILL 信号到 PID 是 123 的进程:

kill -9 123

或是:

kill -KILL 123

也可以是:

kill -SIGKILL 123

实例2:使用 kill 命令终结一个作业。

实例2

注意:上面实例中“%”之后的是数字1。

killall 命令会发送信号到运行任何指定命令的所有进程。所以,当一个进程启动了多个实例时,使用 killall 命令来杀掉这些进程会更方便一些。

如果没有指定信号名,killall 命令会默认发送 SIGTERM 信号。例如,使用 killall 命令杀掉所有 firefox 进程:

killall firefox

发送 KILL 信号到 firefox 的进程:

killall -s SIGKILL firefox

使用 pkill 命令,可以通过指定进程名、用户名、组名、终端、UID、EUID和GID等属性来杀掉相应的进程。pkill 命令默认也是发送 SIGTERM 信号到进程。

实例1:使用 pkill 命令杀掉所有用户的 firefox 进程:

pkill firefox

实例2:强制杀掉用户 toby 的 firefox 进程:

pkill -KILL -u toby firefox

实例3:让 sshd 守护进程重新加载它的配置文件:

pkill -HUP sshd

本文参考自 《Linux Shell命令行及脚本编程实例详解

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    O感悟人生O阅读 11,209评论 2 34
  • 转载一篇,最原始的出处已不可考,望见谅! 常规篇: 首先,用ps查看进程,方法如下: $ ps -ef …… sm...
    奋斗青春无悔阅读 651评论 0 6
  • 1、进程 主要概念 进程是正在运行的可执行程序的实例,通过进程ID(pid)识别 LInux使用虚拟内存,所以每个...
    独行者独行者阅读 403评论 0 0
  • 1 进程介绍 1.1 进程和程序 所谓进程是由正文段(text)、用户数据段(user segment)以及系统数...
    疯狂小王子阅读 946评论 0 7
  • 进程相关概念系统进程管理工具任务计划 一、进程相关概念 定义:进程(Process)是运行中的程序的一个副本,是被...
    哈喽别样阅读 388评论 0 0
  • 今天宝宝心情有点不美丽。经过近几个月的努力,感觉自己心态已经比较平和,也逐渐在自我修炼完善当中。开始在做一个更柔软...
    Ella0321阅读 308评论 4 2
  • 一日,闲来无事翻翻简书,看到简书大学堂增加了一门新课:【余老诗的写作研习社】,看看要求:零基础新媒体写作。过段时间...
    草逗阅读 159评论 7 3
  • 女性自述: 关键词: 闺蜜的男朋友我闺蜜男朋友生日当天晚上不让我回家,原来说好了单独给我开一间房间我才答应住下来的...
    冷爱阅读 377评论 0 0
  • 以后很长时间会只写这个,笔法很重要,重新练
    Thomas先生阅读 539评论 0 5