Linux kill命令详解

1.命令格式

kill [参数] 进程号

2.命令功能

发送指定的信号到相应进程,如果不指定信号则发送SIGTERM(15)终止指定进程,如果无法终止该进程,可以向进程号发送SKILL(9)信号,该信号将强制结束进程,

3.命令参数

选项 含义
-l 参数为信号名称,显示该信号的数字。如果不加信号参数,显示全部信号名称
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-signal_name 指定进程发送信号名称
-signal_number 指定进程发送信号数字

说明:

  1. kill命令可以带信号选项,也可以不带信号。如果没有信号号码,kill命令就会发出终止信号(15),该信号可以被进程捕获,使进程在退出之前可以清理并释放资源。也可以向进程发送发送指定信号,如: kill -9 12356 向进程号12356发送SIGKILL信号
  2. 可以向多个进程发信号或终止它们
  3. 当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息
  4. 应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法

4.使用方法

例子1:列出所有的信号名称

命令 kill -l

输出:

root@hylaz:~# 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
常见的信号:	
     1       HUP (hang up)  终端短线
     2       INT (interrupt) 中断 (Ctrl+C)
     3       QUIT (quit)     退出  (Ctrl+\)
     6       ABRT (abort) 
     9       KILL (non-catchable, non-ignorable kill) 强制退出
     14      ALRM (alarm clock) 
     15      TERM (software termination signal) 终止
     19      STOP 暂停 (Ctrl+Z)
posted @ 2018-12-19 20:43  魔都php菜鸟  阅读(4092)  评论(0编辑  收藏  举报