美文网首页
kill -9 和kill -15的区别

kill -9 和kill -15的区别

作者: 大风过岗 | 来源:发表于2020-11-19 14:43 被阅读0次

    kill -9 和kill -15的区别

    kill命令可以向特定的进程发送指定的信号值。不同的信号值所代表的行为不一样。

    常见的信号值有:

    信号名 信号值 行为
    SIGHUP 1 挂起某个进程
    SIGINT 2 中断某个进程
    SIGKILL 9 杀死某个进程
    SIGTERM 15 结束某个线程,允许该进程在结束之前执行一些清理工作
    SIGSTOP 17, 19, 23 停止某个进程

    信号值9和15的区别:

    信号值15可以在结束此进程之前,允许此进程做一些清理工作(clean-up)
    信号值9会直接杀死目标进程,不给其机会做清理工作

    列出所有可用的信号值

    [root@iZbp10j40viotftelmrcx2Z ~]# 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) SIGPIPE     14) SIGALRM     15) SIGTERM
    16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
    21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
    26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
    31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
    38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
    43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
    53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
    58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
    63) SIGRTMAX-1  64) SIGRTMAX
    [root@iZbp10j40viotftelmrcx2Z ~]# 
    

    关于kill命令

    作用

    kill命令可以向特定的进程发送指定的信号值。不同的信号值所代表的行为不一样。

    语法

    kill [-s signal|-p] [-q sigval] [-a] [--] pid...

    命令描述

    kill命令可以向指定的进程或者进程组发送特定的信号。如果没有指定信号值的话,默认发送的信号值就是TERM(数字 15)。TERM信号值可以用于结束某个进程。相比较于信号值KILL(数字9),应该优先使用TERM信号值,因为对于一个进程来说,通常它们都有一个专门的处理器用于处理TERM信号,以便于在结束此进程之前做一些清理工作(clean-up)。如果在发送完信号值TERM(数字15)之后,进程还没有结束,这时候就需要用到信号值KILL(数字9)。注意:信号值KILL无法被捕捉到,因此它不会给目标线程机会,让其在结束之前执行一些清理工作。

    kill命令的所有信号值

    [root@localhost ~]# 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) SIGPIPE     14) SIGALRM     15) SIGTERM
    16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
    21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
    26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
    31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
    38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
    43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
    53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
    58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
    63) SIGRTMAX-1  64) SIGRTMAX
    [root@localhost ~]# 
    
    

    相关文章

      网友评论

          本文标题:kill -9 和kill -15的区别

          本文链接:https://www.haomeiwen.com/subject/zltliktx.html