kill 命令的功能是给进程发送信号。
用法
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
给以 pid 或 jobspec 指定的进程发送以 sigspec 或 signum 指定的信号。如果未指定信号,默认发送 SIGTERM 信号。
选项
-s sig sig 是信号名
-n sig sig 是信号码
-l 列出所有信号名。如果后接数字,则列出该数字对应的信号名。
linux 常用信号介绍 1 SIGHUP 挂断(Hang UP)。过去终端通过电话线和调制解调器连接到远程计算机。该信号用于向程序指示控制终端已“挂断”。该信号的效果可以通过关闭终端会话来演示。在终端上运行的前台程序将收到信号并终止。许多守护程序也使用此信号来重新初始化。这意味着当守护进程收到此信号时,它将重新启动并重新读取其配置文件。Apache Web 服务器就是一个以这种方式使用 HUP 信号的守护进程示例。 2 SIGINT 中断(INTerrupt)。这与从终端发送的 Ctrl-c 执行相同的功能。它通常会终止一个程序。 9 SIGKILL 杀死(KILL)。这个信号很特别。尽管程序可能会选择以不同的方式处理发送给它们的信号,包括一起忽略它们,但 KILL 信号实际上从未发送到目标程序。相反,内核会立即终止进程。 当一个进程以这种方式被终止时,它没有机会在它自己之后“清理”或保存它的工作。出于这个原因,SIGKILL 信号应仅用作其他终止信号失败时的最后手段。 15 SIGTERM 终止(TERMinate)。这是 kill 命令发送的默认信号。如果程序仍然“存活”到足以接收信号,它将终止。 18 SIGCONT 继续(CONTinue)。这将在 SIGSTOP 或 SIGTSTP 信号后恢复进程。该信号由 bg 和 fg 命令发送。 19 SIGSTOP 停止(STOP)。该信号导致进程暂停而不终止。与 SIGKILL 信号一样,它不会发送到目标进程,因此不能被忽略。 20 SIGTSTP 终端停止(Terminal SToP)。这是按下 Ctrl-z 时终端发送的信号。与 SIGSTOP 信号不同的是,SIGTSTP 信号是由程序接收的,但程序可能会选择忽略它。
系统直接使用的信号 3 SIGQUIT 退出(QUIT)。 11 SIGSEGV 分段违规(SEGmentation Violation)。如果程序非法使用内存,即尝试写入不允许写入的地方,则发送此信号。 28 SIGWINCH 窗口变化(WINdow CHange)。这是当窗口改变大小时系统发送的信号。一些程序,例如 top 和 less 会通过重新绘制自己以适应新的窗口尺寸来响应这个信号。
使用示例:
[root@server ~]# 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