zoukankan      html  css  js  c++  java
  • kill命令的使用

    常用:

    kill -1

    SIGHUP - hangup or exit a foreground running process from a terminal

    kill -1 向进程发送SIGHUP signal,对于不同类型的进程可能产生不一样的效果。如果pid对象为daemon,则kill -1 为重新加载配置;如果pid对象为一般进程则为杀掉进程。

    kill -1 用来实现reload似乎是约定俗成的。

    具体原因参考:https://segmentfault.com/q/1010000002537875http://lilydjwg.vim-cn.com/articles/linux-c/ch33.html

    一般的守护进程都会在收到这个信号时重新加载配置。这是一个习惯,因为 SIGHUP 本来的意义对守信进程没有意义(SIGHUP 是当控制终端失去连接时触发的信号,而守护进程没有控制终端,所以根本用不上)。

    kill -9

    kill -9 向进程发送SIGKILL信号,表示进程被终止,进程会立即退出。所以kill -9表示强制杀死该进程,这个信号不能被进程捕获也不能被忽略。通常杀进程,让进程退出采用kill -15,急性子的人会直接使用kill -9(斩立决)

    kill -15

    kill -15 向进程发送SIGTERM信号 ,表示请进程退出关闭,一般进程收到后会自行停止运行并退出。

    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

    man kill参考:

    # man kill
    
    KILL(1)                                                                         User Commands                                                                         KILL(1)
    
    NAME
           kill - terminate a process
    
    SYNOPSIS
           kill [-s signal|-p] [-q sigval] [-a] [--] pid...
           kill -l [signal]
    
    DESCRIPTION
           The command kill sends the specified signal to the specified process or process group.  If no signal is specified, the TERM signal is sent.  The TERM signal will kill
           processes which do not catch this signal.  For other processes, it may be necessary to use the KILL (9) signal, since this signal cannot be caught.
    
           Most modern shells have a builtin kill function, with a usage rather similar to that of the command described here.  The '-a' and '-p' options, and the possibility to
           specify processes by command name are a local extension.
    
           If sig is 0, then no signal is sent, but error checking is still performed.
    
    OPTIONS
           pid... Specify the list of processes that kill should signal.  Each pid can be one of five things:
    
                  n      where n is larger than 0.  The process with pid n will be signaled.
    
                  0      All processes in the current process group are signaled.
    
                  -1     All processes with pid larger than 1 will be signaled.
    
                  -n     where  n  is  larger  than  1.   All processes in process group n are signaled.  When an argument of the form '-n' is given, and it is meant to denote a
                         process group, either the signal must be specified first, or the argument must be preceded by a '--' option, otherwise it will be taken as the signal to
                         send.
    
                  commandname
                         All processes invoked using that name will be signaled.
    
           -s, --signal signal
                  Specify the signal to send.  The signal may be given as a signal name or number.
    
           -l, --list [signal]
                  Print a list of signal names, or convert signal given as argument to a name.  The signals are found in /usr/include/linux/signal.h
    
           -L, --table
                  Similar to -l, but will print signal names and their corresponding numbers.
    
           -a, --all
                  Do not restrict the commandname-to-pid conversion to processes with the same uid as the present process.
    
           -p, --pid
                  Specify that kill should only print the process id (pid) of the named processes, and not send any signals.
    
           -q, --queue sigval
                  Use sigqueue(2) rather than kill(2) and the sigval argument is used to specify an integer to be sent with the signal.  If the receiving process has installed a
                  handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.
    
    NOTES
           It is not possible to send a signal to explicitly selected thread in a multithreaded process by kill(2) syscall.  If kill(2) is used to send  a  signal  to  a  thread
           group, then kernel selects arbitrary member of the thread group that has not blocked the signal.  For more details see clone(2) CLONE_THREAD description.
    
           The  command  kill(1)  as well as syscall kill(2) accepts TID (thread ID, see gettid(2)) as argument.  In this case the kill behavior is not changed and the signal is
           also delivered to the thread group rather than to the specified thread.
    
    SEE ALSO
           bash(1), tcsh(1), kill(2), sigvec(2), signal(7)
    
    AUTHOR
           Taken from BSD 4.4.  The ability to translate process names to process ids was added by Salvatore Valente ⟨svalente@mit.edu⟩.
    
    AVAILABILITY
           The kill command is part of the util-linux package and is available from Linux Kernel Archive ⟨ftp://ftp.kernel.org/pub/linux/utils/util-linux/⟩.
    
    util-linux                                                                        March 2013                                                                          KILL(1)

    Copyright © 2021 Primzahl. All rights reserved.

  • 相关阅读:
    LOJ 6192 城市网络(树上倍增)
    SDOI2010代码拍卖会 (计数类DP)
    失控的未来交通工具 (LOJ 508,带权并查集,数论)
    线段树维护区间前k小
    POJ 1966 Cable TV Network (最大流最小割)
    网络流学习笔记
    最大子矩阵和
    POJ 1723 Soldiers (中位数)
    最大子矩阵求法详解
    CH0805 防线 (二分值域,前缀和,特殊性质)
  • 原文地址:https://www.cnblogs.com/Primzahl/p/13546932.html
Copyright © 2011-2022 走看看