信号_kill和pkill命令

kill和pkill命令

  • (1)为什么当进程收到某些信号是,会被终止呢?

    • 1) 比如Ctrl+C 发送SIGINT给进程时
    • 2)比如操作一个错误地址,内核发送SIGSEGV信号给进程时
    • 3)比如Ctrl+\ 发送SIGQUIT信号给进程时
    • 4)比如在命令行使用kill pid,默认发送SIGTERM信号给进程时。
    • 因为你发送的这些信号的处理方式是终止,所以进程被终止掉了。
  • (2)kill命令
    • 1)kill的作用

      • (a)kill -l :查询信号列表
      • (b)通过PID想进程发送一个信号
        • kill只是发送信号,至于进程会不会被终止,这就要看信号的处理方式,处理方式如果是终止,那么就会终止进程。所以进程是否会被信号终止,是由信号的处理方式来决定的,而不是kill命令,当初起名字的时候,如果把kill起名为send估计更好理解写,因为kill所起到的左右只是发送信号。
        • 发送信号的完整格式:kill -信号编号 PID
        • 信号编号写数字和宏名都可以。
        • 如果不写明信号编号的话:kill PID,默认发送的是15(SIGTERM)信号,等于kill -SIGTERM PID 或者 kill -15 PID
        • 只有发送15这个信号时才能省略信号编号,发送其他信号时必须写明信号编号。
      • (c)为什么kill发送15(SIGTERM)这个信号时,信号编号可以省略?
        • 我们说每个信号都有自己的特有用途。当初定义15(SIGTERM)信号的目的就是专门给我们从命令行终端窗口,发送该信号去终止某个进程用的,也就是说如果你想在命令行使用kill命令去中断某个进程时,专用信号就是15。
        • 其实一般只要默认处理方式是终止信号,我们都可以使用kill命令将其发送给某个进程,这些信号都可以将进程终止掉,但是既然每个信号有自己的专门用途,那么在命令行去终止某个进程时,我们最好是使用专门的SIGTERM信号。这样显得更专业些
        • 为了方便我们使用,Linux允许发送15这个信号时,不设置信号编号,kill pid时会帮你默认发送这个信号。

        kill -SIGINT PID 不能终止命令行终端,只能终止占用命令行终端的进程。

    • 2)pkill
      • kill命令的兄弟,用法与kill差不多,只不过kill是按照PID来识别进程的,pkill是按照名字来识别进程的。
      • pkill -信号编号 名字 :pkill -SIGTERM a.out
      • 同样的,如果不写明信号编号的话,默认发送的是15(SIGTERM)这个信号。

原文地址:https://www.cnblogs.com/doitjust/p/12622400.html

时间: 2024-10-07 16:45:12

信号_kill和pkill命令的相关文章

[Linux] killall 、kill 、pkill 命令详解

killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令. 1.命令格式 killall[参数][进程名] 2.命令参数 -Z 只杀死拥有scontext 的进程 -e 要求匹配进程名称 -I 忽略小写 -g 杀死进程组而不是进程 -

Linux 进程管理 kill、killall、pkill命令

Linux常用信号(进程间通信) 系统中可以识别的信号较多,我们可以使用命令"kill -l"或"man 7 signal"来查询.命令如下: [[email protected] ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13

pkill命令用法之 - 从终端踢掉其他登录者

想从终端快速踢掉系统中其他登录者,可以先用w命令查看当前所有登录信息,并确定自己所在终端号. [[email protected] ~]# w 10:14:52 up  6:01,  3 users,  load average: 0.00, 0.01, 0.05 USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT root     tty1                      10:

centos下kill、killall、pkill命令区别

kill是用来终止进程的 首先可以通过ps aux查看系统有哪些进程正在运行. 1.用kill来杀死某一个进程 #kill,加选项-9,加PID,表示杀死进程编号为PID的这个进程# -1 重启#kill -9 PID#下面表示杀死进程PID为2899的进程 [[email protected] ~]# kill -9 2899 2.用killall杀死一类进程 #killall,加选项-9,加服务名, 表示杀死该服务的所有进程# -1 重启#killall -9 service#下面表示杀死h

pkill命令

整理中

几个进程管理的命令:pkill,pidof,kill,killall,job

pkill命令可以按照进程名杀死进程.pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉.pkill命令可以按照进程名杀死进程.pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉.语法: pkill(选项)(参数)使用实例: [[email protected] ~]# pkill top pidof命令用于查找指定名称的进程的进程号id号 [[email protected] ~

Linux的pkill和pgrep命令详解

名称 pgrep, pkill – 查找或者发信号给进程通过名称和其它属性. 语法 pgrep [-flvx] [-n | -o] [-d delim] [-P ppidlist] [-g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c ctidlist] [-z zoneidlist] [pattern] pkill

Linux信号和trap命令的使用

目录 信号介绍 信号列表 控制信号 Ctrl+c显示指定内容 使Ctrl+c无任何操作 处理多个信号 处理所有信号 恢复信号 实现跳板机(实例) 信号介绍 运行Shell脚本时,如果按下快捷键Ctrl+c或Ctrl+x(x为其他字符),程序就会终止运行, 在有些情况下,我们并不希望Shell脚本在运行时被信号中断,此时就可以使用屏蔽信号手段,让程序忽略用户输入的信号指令,从而继续运行Shell脚本程序, 简单的说,Linux的信号是由一个整数构成的异步消息,它可以由某个进程发给其他的进程,也可以

Linux运维常用命令

Linux运维常用的150个命令 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼mak